作者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://www.ptt.cc/bbs/java/M.1460829093.A.93D.html
※ 編輯: jackjenny (114.42.229.158), 04/17/2016 01:53:58
推 swallowcc: 你跑錯板了,到ajax板好些 04/17 02:51
→ zongze: 為何不用if(InputArray[i]!=i+1) return i+1; 04/17 04:01
→ zongze: 然後在for外多一行 return "?"; 04/17 04:03
推 gitignore: 建議迴圈不要這樣寫 for(i=0;i<=n-1;i++) 這樣容易搞混 04/17 05:58
→ gitignore: 應該這樣寫for(i=0;i<n;i++) 雖然都一樣 04/17 05:58
→ jej: 如果只是很單純的每個元素都不同的話.. 04/18 12:16
→ jej: 把1加到N+1, 陣列中的數字相加 這兩個數字相扣 結束 04/18 12:17
推 paulku: total=陣列元素全部相加 total2=(上底+下底)*高/2 04/19 16:17
→ paulku: total2-total是0代表少最後一個 非0就傳相減的值 04/19 16:18