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];
    }
};
相关推荐
noipp16 分钟前
推荐题目:洛谷 B2099 矩阵交换行
线性代数·算法·矩阵
五条凪2 小时前
简单理解 BM25 与 TF-IDF
人工智能·算法·搜索引擎·全文检索·tf-idf
行者全栈架构师2 小时前
【码动四季】Spring Boot 可观测性体系:Micrometer + OpenTelemetry + Grafana 全链路搭建
java·算法·架构
TCW11212 小时前
AI底层系列:用C++实现线性代数的公式推导与算法设计-8.线性变化(3)
c++·人工智能·算法
皓月斯语3 小时前
B3849 [GESP样题 三级] 进制转换 题解
c++·算法·题解
中微极客3 小时前
剪枝与量化:让YOLO在边缘设备上高效部署
算法·yolo·剪枝
牢姐与蒯4 小时前
双指针算法
数据结构·算法
Hesionberger4 小时前
LeetCode406:重建身高队列精髓解析
开发语言·数据结构·python·算法·leetcode
SweetCode4 小时前
交叉注意力机制
人工智能·python·深度学习·神经网络·算法