Re: [讨论] 面试遇到的考题

楼主: dementia (早安竞女赛尻认同请分享)   2014-07-03 18:09:27
如果只讨论思考逻辑的话…
0.5 检查阵列长度,如果<2,则回传错误讯息
1.用”0”切阵列
{A,0,B} → {A} {B}
2.计算每个阵列长度。如果最长=1,则回传0,结束
3.将长度1的全部踢除
4.如果有一个阵列长度>=4,则结果一定大于0,反之,应该蛮干就可以了。然后,如果所
有的乘积都为负,则回传0,否则回传最大值,结束
5. 如果有一个阵列长度>=4,则对于每个阵列做以下计算
5-1 直接相乘。如果为正值,将这个值储存,否则计算5-2~5-4
5-2 将阵列中第一个负数(含)前的数全踢除,如果剩余的数长度>=2,则剩余的相乘算乘

5-3 将阵列中最后一个负数(含)后的数全踢除, 如果剩余的数长度>=2,则剩余的相乘算
乘积
5-4 将5-2和5-3的结果储存
6.将步骤5储存的所有数值取最大值,回传,结束。

Links booklink

Contact Us: admin [ a t ] ucptt.com