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];
    }
};
相关推荐
无语子yyds21 分钟前
C++双指针算法例题
数据结构·c++·算法
Skrrapper30 分钟前
【STL】set、multiset、unordered_set、unordered_multiset 的区别
c++·算法·哈希算法
SunnyKriSmile32 分钟前
函数递归求最大值
c语言·算法·函数递归
傻啦嘿哟34 分钟前
爬虫数据去重:BloomFilter算法实现指南
爬虫·算法
立志成为大牛的小牛35 分钟前
数据结构——三十六、拓扑排序(王道408)
数据结构·学习·程序人生·考研·算法
懒羊羊不懒@42 分钟前
JavaSe—List集合系列
java·开发语言·数据结构·人工智能·windows
绛洞花主敏明3 小时前
Go切片的赋值
c++·算法·golang
10001hours5 小时前
初阶数据结构.1.顺序表.通讯录项目(只有源码和注释)
数据结构·算法
Emilia486.7 小时前
八大排序算法
算法·排序算法
blammmp7 小时前
算法专题十九:记忆化搜索(暴搜->记忆化搜索)
算法·深度优先·记忆化搜索