关于黑客的问题排名30天的代码,第6天[C ++]

时间:2017-10-13 15:04:19

标签: c++ arrays

目前正在使用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");
});

1 个答案:

答案 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 << ' ';
}