力扣每日一题2022.2.14
暴力可以解出来最简单的方法是以「步长为 22」的方式进行从前往后的遍历,找到第一个不符合「与后一个数相等」条件的值即是答案。
或是利用单个元素只有一个(其余成对出现),从头到尾异或一遍,最终结果为单一元素值。同样可以用二分解决 但是我觉得这样更简单一点二分的解法可以参考官方的题解
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];
}
}


浙公网安备 33010602011771号