540-有序数组中的单一元素

M1/M2 Mac用户看过来:不装VirtualBox,用PD虚拟机也能跑ENSP的保姆级教程 本文为M1/M2 Mac用户提供了一份不依赖VirtualBox,使用Parallels Desktop虚拟机运行ENSP的详细指南。通过ARM架构的Win10镜像选择、组件替代方案和网络配置优化,实现ENSP核心功能的高效运行,特别适合网络工程师在苹果芯片设备上进行网络模拟。 阅读详情

题目

给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。

示例 1:

输入: [1,1,2,3,3,4,4,8,8]
输出: 2
示例 2:

输入: [3,3,7,7,10,11,11]
输出: 10
注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。

题解一

class Solution {
    public int singleNonDuplicate(int[] nums) {
        int left=0;
        int right=nums.length-1;
        while(left<right){
            int mid=left+(right-left)/2;//带入计算后发现不需要+1
            if(nums[mid]==nums[mid-1]){//中间和左边相等
                if((mid-left)%2==0){//左半部分为偶数说明左边有答案,因为左半边还要减掉一个nums[mid-1]
                    right=mid-2;
                }else{
                    left=mid+1;
                }
            }
            else if(nums[mid]==nums[mid+1]){//中间和右边相等
                if((mid-left)%2==0){//左半部分为偶数说明右边有答案,因为右半边还要减掉一个nums[mid+1]
                    left=mid+2;
                }else{
                    right=mid-1;
                }
            }
            else{return nums[mid];}
        }
        return nums[left];
    }
}
  1. 如果过程都没有太大问题可以在idea中进行单步调试,可以很快发现问题。

    我在写代码时在第二个if前没有加上else,导致判断只循环一遍,在return mid时直接返回,结束循环。

基于电能质量治理的场景实例:统一电能质量调节器(UPQC)与并网逆变器集成 本文通过Simulink平台,详细演示了统一电能质量调节器(UPQC)与并网逆变器的集成系统建模与仿真过程。主要内容包括:1)系统架构设计,包含光伏并网系统、非线性负载和电压扰动源;2)UPQC主电路设计,包括串联/并联单元拓扑和控制策略实现;3)与并网逆变器的能量交互与协同控制逻辑;4)典型电能质量问题的仿真测试场景。结果表明,该集成系统能有效治理电压暂降(维持负载电压380V±2%)和电流谐波(电网THD<3%),直流母线电压稳定在800V±5V。该系统为应对复杂电能质量问题提供了"电压 阅读详情

相关推荐

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

5G核心网Framed Routing功能解析:基于PFCP的帧路由机制与多终端互联实践

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1468

LeetCode-540. 有序数组中的单一元素

LeetCode-540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。 思路 这道题非常有意思。限制...

Galip的博客 417

光储微电网混合储能系统的控制策略

随着社会生产力的不断提高,对不可再生资源的大量消耗,人们已经意识到发展可再生能源的重要性,因此微电网技术作为再生能源利用的有效形式被快速发展。蓄电池容量无限大是传统光储微电网混合储能系统控制策略一种理想形式,但实际上蓄电池的容量是有限度的,传统控制策略在蓄电池剩余电量达到阖值时将无法正常使用,由此提出了光储微电网混合储能系统的新型控制策略,又结合实际情况,对开关进行了改进,利用开关与二极管并联,使其拥有四种工作状态,当储能元件剩余电量达到阈值时,可自动恢复电量降低成本,提高并输出电池电能质量。

nhkg888的博客 1751

540. 有序数组中的单一元素

540. 有序数组中的单一元素

weixin_45256307的博客 356

从逻辑门到存储阵列:NAND与NOR闪存命名与结构原理详解

在数字电路与半导体存储器领域,逻辑门是构建一切复杂功能的基础单元,其输入输出关系定义了计算与存储的基本原理。与非门(NAND)和或非门(NOR)作为通用逻辑门,其真值表和行为模式深刻影响了芯片设计。基于这些原理,现代闪存技术发展出了两种核心架构:NAND Flash和NOR Flash。这两种闪存的命名直接源于其内部存储单元阵列的连接方式,分别模拟了与非门和或非门的逻辑关系。这种结构差异决定了它们根本的技术价值:NOR Flash采用并联结构,支持快速随机读取,适用于代码存储与原地执行(XiP);而NAND

weixin_33377602的博客 346

ESP32实战:破解校园网WPA2-Enterprise认证的完整指南

本文详细介绍了如何使用ESP32开发板破解校园网WPA2-Enterprise认证的完整指南。通过硬件准备、环境搭建、核心代码实现及常见问题排查,帮助开发者解决企业级WiFi连接难题,特别适用于校园网环境下的物联网设备开发。

weixin_29194817的博客 457

540. 有序数组中的单一元素(中等)

数组中除了一个元素仅出现一次,其它元素均出现两次,因此数组的总长度为奇数,二分查找时的中位数恰好将数组等分,且一分为二后的左右区间的元素个数相同,元素个数可能为偶数或奇数。:对于数组中单独出现数字之前成双出对的元素来说,其索引下标均为先偶数再奇数,而单独出现数字后成双出对的元素来说,其索引下标均为先奇数再偶数,那么则可以利用该性质使用二分查找算法,对于。:对于数组中单独出现的数字,其它元素均成双出现,故单独出现数字的索引肯定为偶数,若下标为。元素相等),则单独出现的数字在右区间,否则在左区间;

用魔法打败魔法,走楼梯啊! 1416

433M无线遥控器EV1527协议解码实战:从逻辑分析到代码优化

本文详细解析了433M无线遥控器EV1527协议的实战解码过程。从使用逻辑分析仪抓取波形、理解同步头与数据位编码原理开始,逐步深入代码实现。文章重点对比了原始定时器轮询法的痛点,并提出了基于“边沿捕获+时间戳”的优化方案,构建了高效、可移植且具备抗干扰能力的解码引擎,最后分享了跨平台移植的核心技巧。

weixin_29168813的博客 928

Leetcode 540. 有序数组中的单一元素 C++

Leetcode 540. 有序数组中的单一元素 题目 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 测试样例 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。 题解 二分查找的思想,我们在[l,r]中找到mid,我们只看偶数下标的mid。如果说,只出现1次的元素在[mid,r]中,则说

weixin_43750513的博客 273

低功耗设计:如何计算power switch的数量?

power switch加多了漏电高,加少了ir drop会有问题,具体加多少合适要如何计算呢?这里可以给一个参考方式。 第一步,先选switch cell的类型 通常选用HVT类型的switch cell,优点是漏电更低,缺点也很明显,电阻大,压降也大,switch cell的大小选择,可以选择(开启电阻x面积)最小的switch cell,即单位面积提供最小并联电阻的cell类型。 第二步,计算数量 选好类型,确定了开启电阻,可以按照如下公式计算数量: Ron/Xnum • W/V = V•P

m0_61544122的博客 3580

LVGL iPhone Duo 开合过渡

环境:LVGL 9.x(需要软件模糊),窗口建议 1280×800。界面文案英文(默认 Montserrat 无 CJK)。

摸鱼专家 153

Leetcode 540. 有序数组中的单一元素

Leetcode 540. 有序数组中的单一元素 1. 问题描述 2. 思路 只看偶数下标对应的元素,单一元素左侧,偶数下标为第一个元素,单一元素右侧,偶数下标为第二个元素 二分查找的目标是找到满足 nums[x] !=nums[x+1] 的最小的偶数下标 xx,则下标 xx 处的元素是只出现一次的元素。 3. 代码 func singleNonDuplicate(nums []int) int { left, right := 0, len(nums)-1 for left < r

菜到不敢run 370

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1769

【LeetCode:540. 有序数组中的单一元素 + 二分】

【LeetCode:540. 有序数组中的单一元素 + 二分】给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。

Coder_ljw的博客 656

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

力扣540.有序数组中的单一元素

【代码】力扣540.有序数组中的单一元素。

Pisasama的博客 408

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

540. 有序数组中的单一元素 Medium

Leetcode笔记目录 135. 分发糖果 hardLeetcode笔记目录一、题目描述二、解题过程1.思想2.代码三、总结 一、题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。 示例1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例2: 输入: nums = [5,

zhuiguang3494的博客 197

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【题解】【LeetCode】540. 有序数组中的单一元素

540. 有序数组中的单一元素 原题传送:LeetCode 540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。 思路: 二分法题目要求时间复杂度和空间复杂度。 参考:二分搜索 当mid为偶数时,mid两边的数字

葑鈊丶 679

Leetcode 540 有序数组中的单一元素

540. 有序数组中的单一元素 难度中等288收藏分享切换为英文接收动态反馈 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: nums = [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: nums = [3,3,7,7,10,11,11] 输出: 10 提示: 1 <= nums.length <= 105 0 <= nums[i]<= 105 进阶:..

qq_37637818的博客 1264

【LeetCode】540. 有序数组中的单一元素(js 实现)

1、题目 540. 有序数组中的单一元素 - 力扣(LeetCode) 2、实现 (1)方法一:以步长为2遍历数组 代码: /** * @param {number[]} nums * @return {number} */ var singleNonDuplicate = function(nums) { // 方法一:以步长为2对数组进行遍历 const n = nums.length; for(let i=0; i<=n-2; i+=2) { .

在热爱技术的路上一直前行。 301

Leetcode每日一题 540. 有序数组中的单一元素

由于除单一元素外,元素都会成对出现,所以每次比较相邻的两个数,相等则选择新的两个数。给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。请你找出并返回只出现一次的那个数。

qq_47229957的博客 536

leetcode 540. 有序数组中的单一元素

540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。           难点在于 O(log n)时间复杂度和 O(1)空间复杂度 方法1 能

雾隐雾现的至渝博客 2万+

力扣每日一题打卡540. 有序数组中的单一元素

力扣每日一题打卡540. 有序数组中的单一元素

匿名王同学的博客 429
上一篇: 744-寻找比目标字母大的最小字母
下一篇: 278-第一个错误的版本
codrab
博客等级 码龄10年 15粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codrab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值