当前位置: 首页 > article >正文

2024-11-10-leetcode每日一题-540. 有序数组中的单一元素

题目描述

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

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

你设计的解决方案必须满足 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

解题思路

虽然题目要求要O(logn),但是O(n)也能过,首先注意到异或的性质,相同的两个数异或为0,0异或某个数等于那个数,所有只需要遍历一遍数组,即可找到出现一次的数

AC代码

class Solution {
public:
    int singleNonDuplicate(vector<int>& nums) {
        int ans = nums[0];
        for(int i = 1; i < nums.size(); i ++)
            ans = ans ^ nums[i];
        return ans;
    }
};


http://www.kler.cn/a/389028.html

相关文章:

  • Microsoft 365 Exchange如何设置可信发件IP白名单
  • 普通电脑上安装属于自己的Llama 3 大模型和对话客户端
  • 不对称信息
  • 【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
  • MySQL Workbench导入数据比mysql命令行慢
  • 华为机试HJ39 判断两个IP是否属于同一子网
  • Python数据分析-Google Play商店应用数据分析
  • C#里对数组的排序操作
  • 关于我重生到21世纪学C语言这件事——函数详解
  • 初始JavaEE篇——多线程(8):JUC的组件
  • Python 获取PDF的各种页面信息(页数、页面尺寸、旋转角度、页面方向等)
  • jupyter添加、删除、查看内核
  • 一篇Spring Boot 笔记
  • Python | Leetcode Python题解之第542题01矩阵
  • 【Ubuntu20】VSCode Python代码规范工具配置 Pylint + Black + MyPy + isort
  • 微信小程序运营日记(第四天)
  • 16.UE5拉怪机制,怪物攻击玩家,伤害源,修复原视频中的BUG
  • VAE的原理及MNIST数据生成
  • 【计算机网络】基础知识,常识应用知识
  • Webpack知识点—publicPath
  • JVM 进阶:深入理解与高级调优
  • YOLOv6-4.0部分代码阅读笔记-engine.py
  • Skyeye 云智能制造 v3.14.12 发布,ERP + 商城
  • 【AI技术】PaddleSpeech部署方案
  • Python实现SSA智能麻雀搜索算法优化BP神经网络分类模型(优化权重和阈值)项目实战
  • 数据结构之排序补充