leetcode_有序数组中的单一元素

540. 有序数组中的单一元素 - 力扣(LeetCode)

二分查找

使用条件 : 有序 , log n

复制代码
class Solution {
public:
    int singleNonDuplicate(vector<int>& nums) {
        int left = 0, right = nums.size() - 1, mid;
        while (left < right){
            mid = ( left + right ) / 2;
            if (mid % 2 == 1){
                mid -= 1;
            }
            if ( nums[mid] == nums[mid + 1] ){  //速说明这个数在右边
                left = mid + 2;
            }else {
                right = mid;
            }
        }
        return nums[left];
    }
};
相关推荐
想进个大厂3 小时前
代码随想录day29 贪心03
算法·leetcode·职场和发展
踩坑记录4 小时前
leetcode hot100 环形链表 easy 快慢指针
leetcode·链表
We་ct4 小时前
LeetCode 15. 三数之和:排序+双指针解法全解析
前端·算法·leetcode·typescript
挽天java4 小时前
数据结构习题--寻找旋转排序数组中的最小值
数据结构·算法·排序算法
你怎么知道我是队长4 小时前
C语言---排序算法4---希尔排序法
c语言·算法·排序算法
iAkuya4 小时前
(leetcode)力扣100 54实现Trie树
算法·leetcode·c#
TracyCoder1234 小时前
LeetCode Hot100(20/100)——19. 删除链表的倒数第 N 个结点
算法·leetcode
hrrrrb4 小时前
【算法设计与分析】随机化算法
人工智能·python·算法
进击的小头4 小时前
一阶IIR低通滤波器:从原理到嵌入式实战
c语言·算法
2301_811232985 小时前
C++中的契约编程
开发语言·c++·算法