这次,我对您有一个简单的挑战。给定一个正整数数组A(或您的语言中的等价整数),将每个条目A i替换为下一个A的总和我的元素一个,骑自行车从一开始就回来,如果没有足够的项目。
像往常一样,您可以使用任何编程语言进行竞争,并且可以通过任何标准方法并以任何合理的格式接受输入并提供输出,同时请注意,默认情况下会禁止这些漏洞。您也可以选择使用A的大小作为输入。这是代码高尔夫球,因此每种语言的最短提交(以字节为单位)将获胜。
示例/测试用例
考虑到[1,3,4,5]
,你的代码应该输出[3,10,13,14]
,因为1
被替换3
,3
被替换4+5+1=10
(注意它是如何从一开始就缠回),4
通过5+1+3+4=13
和5
通过1+3+4+5+1=14
。
鉴于[3,2,1,9]
,你的程序产生[12,10,9,33]
,因为我们替换3
用2+1+9=12
,2
用1+9=10
,1
用9
而9
用3+2+1+9+3+2+1+9+3=33
(注意我们是如何包裹从一开始就回一次以上)。
一些其他测试用例供您选择:
[4,3,2,1] -> [10,7,5,4]
[3,2,1,9] -> [12,10,9,33]
[1,3,4,5] -> [3,10,13,14]
[4,4,3,2,2] -> [11,11,8,6,8]
[3,5,3,2,1] -> [10,14,6,4,3]
[3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3]
[7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30]
[28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34]
[1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]