0%

寻找数组里面出现一次的数字

给定一个数字数组, 数组里只会有两个数字, 取出唯一一个数字的位置

事例

1
2
3
输入: [1,1,1,2,1,1]
输出: 3
解释: 因为数组里唯一一个2出现的位置是3。
1
2
3
输入: [4,2,2,2,2,2,2]
输出: 0
解释: 因为数组里唯一一个4出现的位置是0。

数组长度为10000

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const arr = [1, 1, 1, 1, 1, 1, 2];
const demo = [3, 2, 2, 2, 2, 2, 2, 2];

/**返回数组中不一样的元素**/
function findDiff(arr) {
for (let i = 1; i < arr.length; i++) {
if (arr[i - 1] === arr[i]) {
continue;
}
if (arr[i] === arr[i + 1]) {
return i - 1;
}
if (arr[i - 1] === arr[i + 1]) {
return i;
}
return i;
}
}

console.log(findDiff(arr));
// console.log(findDiff(demo));