leetcode记录:难度简单:540.Single Element in a Sorted Array(在已排序的数组的单独元素)

题目出处:https://leetcode.com/problems/single-element-in-a-sorted-array/

题目描述:

给定一个仅由整数组成的排序数组,其中每个元素出现两次,只有一个元素出现一次。找到这个只出现一次的元素。

Example 1:

Input: [1,1,2,3,3,4,4,8,8]
Output: 2

Example 2:

Input: [3,3,7,7,10,11,11]
Output: 10

思路:

这个题目还是很简单:我的思路就是前后相邻对比。

因为它是单个的,所以整个数组的长度肯定是奇数,而这个单个独立的元素,也一定出现在奇数下标上,所以循环的的时候就var i=0, nums[i]和nums[i+1]比就行,不用var i =1然后nums[i]和nums[i-1]比,然后每次i的增量+2,因为都是成对的出现的,需要比较的下一个下标元素出现在i+2的位置。

代码:

var singleNonDuplicate = function(nums) {
    for(var i = 0;i<nums.length;i+=2){
        if(nums[i] !=nums[i+1]){
            return nums[i]
        }
    }
    
};

猜你喜欢

转载自blog.csdn.net/weixin_42273637/article/details/87690945