遇到的算法题,不知道他们是什么心态。
JS面试算法!!!!!!!!!!!!!!!!!!!!!!!
题目
我妹妹放学回家做了这样一个课后作业:给一张方格纸,把它剪成一片一片的,然后组装它们, 使其形成的边为一个数字递增的序列。开始的时候很有趣,但是慢慢地,我已经厌倦了看到那堆被撕破的纸。所以我决定编写一个可以帮助解决问题同时也可以”保护树木节约资源”的程序。
任务
给定一个正整数n,返回一个严格递增的序列(取决于语言版本的列表/数组/字符串)数字,使得平方和等于n²。
如果有多个结果满足,返回数值最大的那个结果:
例子
1 |
|
注意
[n]和[1,1,1,…,1]都不是有效的解决方案。如果没有解决方案,则返回nil,null,Nothing,None(取决于语言)。
函数decompose将取正整数n并返回N =n²的分解:1
2
3
4
5
6
“x1 ... xk”
decompose 50返回“1,3,5,8,49”
decompose 4返回“Nothing”
提示
xk经常是n-1。
我的代码
思路:
首先肯定是储存所有要用到值。然后遍历所有值,摆出所有值的可能的和。然后筛选出结果值的数组。从而完成计算。
1 |
|