有序数组中的单一元素
贴一下代码
function singleNonDuplicate(nums: number[]): number {
for(let i = 0 ; i < nums.length; i+=2){
if(nums[i] !== nums[i+1]){
return nums[i]
}
}
};
思路:
- 有序数组且每个元素出现两次,找出出现一次的元素:就是说如果那个元素有重复的话,他下一个肯定等于他 num[i] === nums[i+1]
- 遍历查找,注意一下这里的 i 不再是 i++ 了,而是 i+=2,当第一项与第二项相等时,直接去判断第三项和第四项,而不用判断第二项和第三项