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];
    }
};
相关推荐
ekprada2 分钟前
DAY 18 推断聚类后簇的类型
算法·机器学习·支持向量机
生信大表哥3 分钟前
Python单细胞分析-基于leiden算法的降维聚类
linux·python·算法·生信·数信院生信服务器·生信云服务器
玫瑰花店42 分钟前
万字C++中锁机制和内存序详解
开发语言·c++·算法
靠沿1 小时前
Java数据结构初阶——LinkedList
java·开发语言·数据结构
Elias不吃糖2 小时前
LeetCode每日一练(209, 167)
数据结构·c++·算法·leetcode
铁手飞鹰2 小时前
单链表(C语言,手撕)
数据结构·c++·算法·c·单链表
悦悦子a啊2 小时前
项目案例作业(选做):使用文件改造已有信息系统
java·开发语言·算法
小殊小殊2 小时前
【论文笔记】知识蒸馏的全面综述
人工智能·算法·机器学习
无限进步_2 小时前
C语言动态内存管理:掌握malloc、calloc、realloc和free的实战应用
c语言·开发语言·c++·git·算法·github·visual studio
hweiyu003 小时前
数据结构:循环链表
数据结构·链表