目前正在使用Hackerrank.com的30天代码,并选择在C ++中完成。
![第6天] https://imgur.com/a/euGFr
上面的图像是问题以及我的解决方案和输出,尽管它们的输出匹配,但它是不正确的。我是C ++的新手,想要了解如何改进代码。我意识到有很多不同的方法可以重写它,但只是想要对我想出的内容进行批评,如果它过于复杂或者是一个合适的解决方案。感谢
对于那些看不到图像的人来说这是个问题:
TASK
给定长度为N且从0到N-1索引的字符串S,将其偶数索引和奇数索引字符作为空格分隔的字符串打印在一行上。
输入是测试用例的数量(t),后跟't'个字符串。
INPUT
2
黑客
排名
输出
hce akr
rnk ak
我的代码
jQuery( "body" ).on( "updated_checkout", function() {
jQuery("#billing_country_field,
#billing_address_1_field
#billing_address_2_field,
#billing_city_field,
#billing_state_field,
#billing_postcode_field").css("display", "none");
});
答案 0 :(得分:1)
如果您开始使用std::string
,请使用它而不是动态分配的char数组(无论如何你做错了,大小不应该是0):
std::string split[2];
for( size_t i = 0; i < test.length(); ++i )
split[i%2] += test[i];
另一个解决方案是将test
字符串传递两次并打印偶数和奇数符号而不使用临时字符串:
for( size_t start : { 0, 1 } ) {
for( size_t i = start; i < test.length(); i += 2 )
std::cout << test[i];
if( start == 0 )
std::cout << ' ';
}