作者jackjenny (痛苦)
看板java
标题[问题] Javascript 问题 P币5000 ^^
时间Sun Apr 17 01:51:25 2016
不知道PO在这 O不OK 请大大见谅
小弟被人问问题 有点搞混了
看似简单 我只会javascript一点
会运用到propmt console.log for if
所以在这求程式解 给P币5000元
Q1:
寻找阵列中缺少的数字: 输入一个阵列,
该阵列的元素是 1 到 N+1,其中 N 是阵列的数
量。请找出其中缺少的数字。例如输入 [1,2,4,5,6] 应输出 3
答案应该会是
console.log( solution([1,2,4]) ); // 3
console.log( solution([1,2,3,5,6]) ); // 4
console.log( solution([1,2,3,4,5]) ); // 6
我的解法是
a. 先不管propmt 输入或输出 直接改下方的console.log()当输入
b.
function solution(InputArray)
{
for(var i=0; i <= InputArray.length-1; i++)
{
if (InputArray[i+1]-InputArray[i] == 2)
{
return i+2;
}
}
}
console.log( solution([1,2,4]) ) 答案显示3
console.log( solution([1,2,3,5,6]) )答案显示4
console.log( solution([1,2,3,4,5]) ) 答案解示无解
c.
这样只能求解数列中有缺漏数字,
console.log( solution([1,2,4]) ); // 3
console.log( solution([1,2,3,5,6]) ); // 4
换句话说不能求解 连续数列N元素,再补递N+1,会没办法判断
console.log( solution([1,2,3,4,5]) ); // 6
b.
function solution(InputArray)
{
for(var i=0; i <= InputArray.length-1; i++)
{
if (InputArray[i+1]-InputArray[i] == 2)
{
return i+2;
}
}
}
console.log( solution([1,2,4]) ) 答案显示3
console.log( solution([1,2,3,5,6]) )答案显示4
console.log( solution([1,2,3,4,5]) ) 答案解示无解
c.
这样只能求解数列中有缺漏数字,
console.log( solution([1,2,4]) ); // 3
console.log( solution([1,2,3,5,6]) ); // 4
换句话说不能求解 连续数列N元素,再补递N+1,会没办法判断
console.log( solution([1,2,3,4,5]) ); // 6
d.
请问 该如何解决 连续数列N元素,再补递N+1,会没办法判断
以及 增加输入列阵及 输出缺漏数字
给P币5000
感谢大大
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.229.158
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1460829093.A.93D.html
※ 编辑: jackjenny (114.42.229.158), 04/17/2016 01:53:58
1F:推 swallowcc: 你跑错板了,到ajax板好些 04/17 02:51
2F:→ zongze: 为何不用if(InputArray[i]!=i+1) return i+1; 04/17 04:01
3F:→ zongze: 然後在for外多一行 return "?"; 04/17 04:03
4F:推 gitignore: 建议回圈不要这样写 for(i=0;i<=n-1;i++) 这样容易搞混 04/17 05:58
5F:→ gitignore: 应该这样写for(i=0;i<n;i++) 虽然都一样 04/17 05:58
6F:→ jej: 如果只是很单纯的每个元素都不同的话.. 04/18 12:16
7F:→ jej: 把1加到N+1, 阵列中的数字相加 这两个数字相扣 结束 04/18 12:17
8F:推 paulku: total=阵列元素全部相加 total2=(上底+下底)*高/2 04/19 16:17
9F:→ paulku: total2-total是0代表少最後一个 非0就传相减的值 04/19 16:18