题目:
(LeetCode 268)给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。
思考:
题目的意思是给定一个长度为n的数组,数组中应当包含有0到n之间的数字,但是其中有缺少的部分数字,要求输出没有出现在数组中的那个数
首先应当确定数组长度,通过.length来实现,可以通过循环,由i来一一对应数组里的数字,没有能对应到的就输出这个i,i就是丢失的数字。(这里的这个初步想法其实并没有成功😥)
后来换了一种想法:
先获取长度,确定完整的取值范围,用i来遍历这个范围。
通过indexOf()来判断数组中是否存在查找的数字,有就返回元素下标,否则返回-1,那么在获取到-1的时候,把当前这个i的值输出就完成了!
/**
* @param {number[]} nums
* @return {number}
*/
var missingNumber = function (nums) {
// console.log("test");
var len = nums.length;
for (let i = 0; i <= len; i++) {
let value = nums.indexOf(i);
//console.log(value);
if (value == -1) {
//console.log("the lost number" + i);
var lost = i;
}
}
return lost;
};
好耶!今天没有参考别人的解题思路是自己写出来的!虽然只是一道简单题但是还是很高兴!🥰