力扣每日一题2022.2.14

1.讲解

540. 有序数组中的单一元素

暴力可以解出来最简单的方法是以「步长为 22」的方式进行从前往后的遍历,找到第一个不符合「与后一个数相等」条件的值即是答案。

或是利用单个元素只有一个(其余成对出现),从头到尾异或一遍,最终结果为单一元素值。同样可以用二分解决 但是我觉得这样更简单一点二分的解法可以参考官方的题解

https://leetcode-cn.com/problems/single-element-in-a-sorted-array/solution/you-xu-shu-zu-zhong-de-dan-yi-yuan-su-by-y8gh/

2.代码

class Solution {

public int singleNonDuplicate(int[] nums) {

for(int i=0;i<nums.length-1;i++)

if (nums[i++]!=nums[i]) return nums[i-1];

return nums[nums.length-1];

}

}

 

 

 

posted @ 2022-02-14 11:19  yun_you  阅读(36)  评论(0)    收藏  举报