如何編寫函數以查找數值數組的缺失元素,例如: getMissingElement([0,5,1,3,2,9,7,6,4])//返回8在JavaScript對象數組中找到缺失的元素?
回答
是否只有一個元素丟失,其他元素肯定是不重複的?然後回想一下,計算0 + 1 + ... +(N-1)之和的公式是(N-1)* N/2,並且它與你的數組中的和的差值是(N-2)缺少的元素:
function getMissingElement(array) {
var sum = 0;
var N = array.length + 1;
for(i = 0; i < N-1; ++i) {
sum += array[i];
}
return (N-1)*N/2 - sum;
}
優雅的方法,+1 – Christophe
+1好主意。它可以簡化一點,但:var n = array.length,for(var i = 0; i
這是例外。在其他解決方案中稍加修改就幫助了我。 –
function getMissingElement(myArray) {
myArray.sort();
myAray.reverse()
for(var i = 1; i < myArray.length; i++) {
if(myArray[i] - myArray[i-1] != 1) {
//log your numbers or print them or whatever you like
}
}
}
這是假定「缺失項目」的最基本定義,其中缺失項目位於兩側現有值之間。
這裏有辦法做到這一點:
arr.sort(function(x, y){return x - y})
.map(function(x, i, me){return me[i+1]-x > 1 && x+1})
.filter(Number)
這會給你丟失號碼的陣列,用於[0,2,4]
它會給你[1,3]
- 1. 在Python中找到兩個元組中的缺失元素
- 2. 通過在Javascript中比較2個數組來找到缺失的元素
- 3. 在對象數組中找到缺失的值
- 4. 在數組對象中查找元素
- 5. 通過比較Javascript中的2個二維數組找到缺失的元素
- 6. JSON數組缺失元素
- 7. 在動態數組的對象元素中查找常用元素Javascript
- 8. 在JavaScript中查找對象數組中數組元素的索引?
- 9. 加入null找到缺失的元素
- 10. 查找數組中缺少的元素
- 11. 在對象數組中找到最後使用的元素
- 12. 在numpy數組中找到缺失值
- 13. 在stdClass對象數組中找到一個元素?
- 14. 使用javascript從數組對象元素中查找最近值
- 15. 在對象數組中找到對象
- 16. F#查找2個數組/列表之間的缺失元素
- 17. JavaScript數組到對象:將數組元素更改爲對象屬性和值
- 18. 如何過濾在數組元素中的JavaScript對象
- 19. 在兩個元素中找到數組中的準時元素javascript
- 20. 如何將新的元素添加到數組對象的JavaScript
- 21. 在asp.net中綁定缺失元素的數組mvc
- 22. 如何找到stdclass對象數組的第二個元素
- 23. 根據數組元素查找對象,只返回匹配的數組元素?
- 24. 查找數組中缺失的數字
- 25. 將元素添加到對象數組
- 26. 在數組中找到匹配元素
- 27. 在Dataweave中忽略JSON中缺失的數組對象
- 28. 將對象數組中的值插入到一組元素中
- 29. 在JavaScript數組查找元素
- 30. 在對象數組中找到需要的元素的最佳方法
因此這裏幫助現有的代碼,而不是w禮儀代碼給你。 –
缺失元素的定義是什麼? – Xotic750
我完全不同意這個問題。 OP的問題很明顯。如果你不明白這個問題,那是因爲你不想理解這個問題,因爲它清楚OP的意圖。而且答案不一定是完整的代碼,也可能是以正確的方向發送OP的邏輯。給代碼是答覆者的選擇。 「可能的答案太多了......」?真?請UPVOTE這個問題,它值得!! !!恕我直言 – cube