标签:练习题 combos 数字 Python python 难度 进阶
python高级练习题:找到所有可能的数字组合,它们总和为一个数字【难度:4级】:
乔恩和乔在学校考试中获得了同等分数.但是,当他们彼此平等时,他们不会在和平中和解.为了证明自己的能力,Jon向Joe挑战编写一个程序来查找总和给定数字的所有可能的数字组合.乔不确定自己是否能够完成这一壮举,但却应对了这一挑战.作为乔的朋友,你的任务就是帮助他.
任务
创建一个函数combos
,它接受一个正整数num
(30>num
> 0)并返回一个正整数数组,它们总和为’num`.
Notes
1.子数组可能有也可能没有对其元素进行排序.
2.主数组矩阵内子数组矩阵的顺序无关紧要.
3.对于最佳解决方案,以下操作应在6000ms内完成.
#Sample
组合(3)=> [[3],[1,1,1],[1,2]]
组合(10)=> [[10],
[1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,2],
[1,1,1,1,1,1,1,3],
[1,1,1,1,1,1,4],
[1,1,1,1,1,5],
[1,1,1,1,6],
[1,1,1,7],
[1,1,8],
[1,9],
[1,1,1,1,1,1,2,2],
[1,1,1,1,1,2,3],
[1,1,1,1,2,4],
[1,1,1,1,2,2,2],
[1,1,1,1,3,3],
[1,1,1,2,5],
[1,1,1,2,2,3],
[1,1,1,3,4],
[1,1,2,6],
[1,1,2,2,4],
[1,1,2,2,2,2],
[1,1,2,3,3],
[1,1,3,5],
[1,1,4,4],
[1,2,7],
[1,2,2,5],
[1,2,2,2,3],
[1,2,3,4],
[1,3,6],
[1,3,3,3],
[1,4,5],
[2,8],
[2,2,6],
[2,2,2,4],
[2,2,2,2,2],
[2,2,3,3],
[2,3,5],
[2,4,4],
[3,7],
[3,3,4],
[4,6],
[5,5]]
编程目标:
def combos(n):
#your code here
测试样例:
Test.assert_equals(combos(1),[[1]])
Test.assert_equals(sorted(combos(2)),[[1,1],[2]])
Test.assert_equals(sorted(combos(3)),[[1,1,1],[1,2],[3]])
Test.assert_equals(sorted(combos(4)),[[1,1,1,1],[1,1,2],[1,3],[2,],[4]])
最佳答案(多种解法):
更多关联题目:
python进阶练习题:异常处理(有限制)【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
python高级练习题:快乐的旅行者[#2]【难度:3级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
python基础练习题:问候【难度:1级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/find-all-possible-number-combos-that-sum-to-a-number
标签:练习题,combos,数字,Python,python,难度,进阶 来源: https://blog.csdn.net/aumtopsale/article/details/100846242
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。