如何编写函数以查找数值数组的缺失元素,例如: 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