推 GoalBased: for(var i=0; i <= input.length; i++) 04/17 01:53
→ GoalBased: {if(input[i] != i+1) return i+1;} 04/17 01:53
→ GoalBased: 沒經過測試0.0 04/17 01:54
推 amaameryou: for(var i=1; i <= InputArray.length+1; i++){ 04/17 02:40
→ amaameryou: if (InputArray.indexOf(i)==-1){console.log(i);} 04/17 02:40
→ amaameryou: } //利用陣列 indexOf 查詢 04/17 02:41
→ amaameryou: //還是要跑1~N+1檢查,當然查到就能break 04/17 02:44
→ amaameryou: //假設數列是正整數 04/17 02:46
→ jackjenny: 請問a大 ==-1 是什意思? ^^ 04/17 04:42
→ jackjenny: 我已經解出來了 利用A大提到indexof()方法 04/17 05:43
→ jackjenny: 不過最後一行 console.log(i)會多一行錯誤@@? 04/17 05:44
→ jackjenny: 改成return(i)就可以了 不知道為什@@? 04/17 05:44
推 johnny9144: 因為用console.log(I) 你的function 沒有回傳值 04/17 10:36
→ johnny9144: 這個時候你變成要console.log()沒有填值 04/17 10:37
→ johnny9144: 所以錯誤 04/17 10:37
→ johnny9144: 也就是說 用a大的方法你直接 呼叫function 就好,不要 04/17 10:39
→ johnny9144: 把function 包在console.log()裡面 04/17 10:39
推 amaameryou: reutrn-1 是沒找到, return >-1 是回傳在陣列中的位置 04/17 12:27
→ amaameryou: 錯誤原因johnny大已經說明, 改為return i是對的 04/17 12:28
→ zxm20243: 算和直接扣掉應該是O(n) 04/17 16:41
→ zxm20243: solution = function(arr) { 04/17 16:41
→ zxm20243: var len = arr.length; 04/17 16:42
→ zxm20243: var sum = arr.reduce((to, val) => to + val, 0); 04/17 16:42
→ zxm20243: var ans = (len + 1) * (len + 2) / 2 - sum; 04/17 16:43
→ zxm20243: return (ans === len + 1) ? null : ans; 04/17 16:43
→ zxm20243: }; 04/17 16:43
推 zxm20243: 不過如果數字是遞增還是一個一個找,找到就break好了 04/17 16:47
→ jackjenny: 謝 會給A大P幣 研究下怎給P幣指令@@ 04/19 01:43
推 abandonONE: if那行,「== 2」換成「!= 2」就可以了 04/20 15:54
→ abandonONE: if那行,「== 2」換成「!= 1」就可以了 04/20 15:54
→ abandonONE: 抱歉我第一行打錯了 囧rz 04/20 15:55