我如何在这个代码挑战中获得这个测试用例的结果



我很难理解这个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

相关内容

最新更新