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];
    }
};
相关推荐
ysa05103012 小时前
优先队列贪心dp
c++·笔记·算法·板子
小七在进步13 小时前
数据结构:树的遍历
数据结构
j7~13 小时前
【数据结构初阶】队列的实现(链式队列 + 循环队列)--详解
c语言·开发语言·数据结构·学习·队列·queue·c\c++
道影子13 小时前
《道德经》031兵者不祥,胜以丧礼处之
人工智能·深度学习·算法
花生了什么事o13 小时前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
king_linlin13 小时前
算法基础——算法复杂度
c语言·开发语言·数据结构·算法
AndyHeee14 小时前
Linux 内核底层机制:设备树(Device Tree)的数据结构与内存组织
linux·前端·数据结构
king_linlin14 小时前
数据结构——顺序表(附图文讲解|超详细)
c语言·数据结构·算法
GAOJ_K14 小时前
老旧产线弧形导轨换新:同规格替换避坑选型思路
人工智能·算法·机器学习·制造·导轨偏磨
Jerry19 小时前
LeetCode 189. 轮转数组
算法