我很难理解这个challege的测试用例。问题描述为:
2 sum是一系列数字的总和,但2后面的每个数字都会被计算两次。给定一个数字列表,打印出它们的2 um。例如,当输入1 2 3 4时,打印14,1和3的数字之和计数两次
测试用例:
1 2 3 4=14
2 1 3 6 2 6=33
7 9-10 5-5 3-1=8
2 2 8 2 14 2 2=68
-23 13 7 6 9 11-5 2 0=15
我不理解的测试用例是2 2 8 2 14 2 2=68有8个数字,我用这种方式尝试了:
2+14+4+28+4=58,然后我知道其他10个在哪里,这让我很困惑,因为在开始、中间和结尾都有2个。帮助感谢
根据问题:
every number that's next to a 2 is counted twice
换言之,每当列表中的数字之前有一个直接或之后有一个的2时,该数字对总和的贡献是两倍。在您关心的测试用例中,列表中的所有数字都与2相邻,因此每个数字都被计数两次,因此答案是:
2 * (2 + 2 + 8 + 2 + 2 + 14 + 2 + 2) = 2 * 34 = 68