首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:有序数组中的单一元素

#yyds干货盘点# LeetCode程序员面试金典:有序数组中的单一元素

时间:2024-01-10 23:32:13浏览次数:28  
标签:yyds nums int 金典 示例 mid high low LeetCode

题目

给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。


请你找出并返回只出现一次的那个数。


你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。


 


示例 1:


输入: nums = [1,1,2,3,3,4,4,8,8]

输出: 2

示例 2:


输入: nums =  [3,3,7,7,10,11,11]

输出: 10

代码实现


class Solution {
    public int singleNonDuplicate(int[] nums) {
        int low = 0, high = nums.length - 1;
        while (low < high) {
            int mid = (high - low) / 2 + low;
            if (nums[mid] == nums[mid ^ 1]) {
                low = mid + 1;
            } else {
                high = mid;
            }
        }
        return nums[low];
    }
}


标签:yyds,nums,int,金典,示例,mid,high,low,LeetCode
From: https://blog.51cto.com/u_15488507/9187280

相关文章

  • #yyds干货盘点# LeetCode程序员面试金典:UTF-8 编码验证
    题目给定一个表示数据的整数数组data,返回它是否为有效的UTF-8编码。UTF-8中的一个字符可能的长度为1到4字节,遵循以下的规则:对于1字节的字符,字节的第一位设为0,后面7位为这个符号的unicode码。对于n字节的字符(n>1),第一个字节的前n位都设为1,第n+1位......
  • # yyds干货盘点 # 盘点一个Python自动化办公的需求——一键批量插图到Excel指定单元格
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,问题如下:大佬们,昨天我在做插入excel图片的时候想起一个需求,好像挺难办的,也蛮现实的。比如每个图片是有名称的,但在做excel的时候,能不能按照excel中的名称调用图片插入。就像下面这样......
  • leetcode 11.盛最多水的容器
    leetcode11.盛最多水的容器第十一题:盛最多水的容器1.暴力枚举:会超时,但是做一些条件判断应该可以擦边过publicintmaxArea(int[]height){intmax_result=0;for(inti=0;i<height.length-1;i++){for(intj=i+1;j<height.length;j++......
  • # yyds干货盘点 # 盘点一个AI都无法解决的Python基础题目(下篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【大侠】问了一个Pandas实战的问题,一起来看看吧。上一篇文章说到,看上去AI给的答案,似乎让【大侠】不满意,遂来白银交流群问问大佬们。这一篇文章,我们一起来看看其他大佬给的代码。二、实现过程前面的文章中,我们看到了【瑜亮老师】和......
  • # yyds干货盘点 # 想要获取某某查上面网址这个数据获取怎么获取呀?超好用工具分享!
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python网络爬虫的问题。问题如下:大佬们想要获取某某查上面网址这个数据获取怎么获取呀为什么返回的源码就这一点 有没有什么比较好上手的工具啥的页面图:网络爬虫结果:二、实现过程这里【黑科技......
  • # yyds干货盘点 # 盘点一个AI都无法解决的Python基础题目(中篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【大侠】问了一个Pandas实战的问题,一起来看看吧。上一篇文章说到,看上去AI给的答案,似乎让【大侠】不满意,遂来白银交流群问问大佬们。这一篇文章,我们一起来看看【瑜亮老师】给的代码。二、实现过程粉丝的原始数据中,还是有些乱的,比方......
  • #yyds干货盘点# LeetCode程序员面试金典:找不同
    题目给定两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。 示例1:输入:s="abcd",t="abcde"输出:"e"解释:'e'是那个被添加的字母。示例2:输入:s="",t="y"输出:"y"代码实现classSo......
  • #yyds干货盘点# LeetCode程序员面试金典:复数乘法
    题目复数可以用字符串表示,遵循"实部+虚部i"的形式,并满足下述条件:实部是一个整数,取值范围是[-100,100]虚部也是一个整数,取值范围是[-100,100]i2==-1给你两个字符串表示的复数num1和num2,请你遵循复数表示形式,返回表示它们乘积的字符串。 示例1:输入:num1="1......
  • # yyds干货盘点 # 盘点一个工作中Python自动化处理实战问题(番外篇)
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个工作中Python自动化处理实战问题,一起来看看吧。问题描述:数据在提供的数据表中,在表有编号、环节、审核人、金额、结束时间5列,对【编号、环节、审核人、金额】四条件进行分组,分组内结束时间升序排列......
  • # yyds干货盘点 # 盘点一个Pandas取值的问题(下篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据提取的问题,上一篇文章我们介绍了基础篇,这一篇文章我们来延伸下,你想象下,我想要14和15行该怎么写?二、实现过程后来【论草莓如何成为冻干莓】给了一份代码,print(df.loc[[14,15],'作者':'回复'])。......