news 2026/7/21 4:01:02

力扣hot100:旋转排序数组中找目标值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣hot100:旋转排序数组中找目标值

题目描述:

思路分析:

本题前置题目:寻找旋转排序数组中的最小值,解析链接如下

https://mp.csdn.net/mp_blog/creation/editor/156110328

本题是在此题的基础上查找目标值,数组经过旋转之后被分成两个部分,这两个部分都是一个从小到大排列的子数组,如果我们能够得出这两个字数组,然后再分别对他们进行2分查找,就能够查找出目标值。

代码:

class Solution { int zhuixiao(int[] nums){ int left=0; int n=nums.length; int right=nums.length-1; while(left<right){ int mid=(right-left)/2+left; if(nums[mid]>nums[n-1]){ left=mid+1; }else{ right=mid; } } return right; } int erfen(int[] nums,int target,int left,int right){ while(left<=right){ int mid=(right-left)/2+left; if(nums[mid]==target){ return mid; } if(nums[mid]>target){ right=mid-1; } if(nums[mid]<target){ left=mid+1; } } return -1; } public int search(int[] nums, int target) { if(nums.length==0){ return -1; } int n=nums.length; int a=zhuixiao(nums); if(target>=nums[a]&&target<=nums[n-1]){ return erfen(nums,target,a,n-1); }else{ return erfen(nums,target,0,a-1); } } }

代码说明:

先找出字数组,分别为【0,a-1】和【a,n-1】。去判断target与nums【n-1】的关系,如果target比nums【n-1】大,则说明其在【0,a-1】中,否则在【a,n-1】中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 16:24:24

报告批量生成的性能与内存优化方案

报告批量生成的性能与内存优化方案一 总体策略与架构要点 将流程拆分为数据准备 → 模板渲染 → PDF 转换 → 存储/下载四段&#xff0c;按阶段并行化&#xff0c;减少单线程等待。采用模板驱动&#xff08;如 POI-TL&#xff09;替代逐 Run 的低效文本替换&#xff1b;模板中统…

作者头像 李华
网站建设 2026/7/19 2:58:28

Linly-Talker在残障人士辅助沟通中的社会价值

Linly-Talker在残障人士辅助沟通中的社会价值 在一场康复中心的演示现场&#xff0c;一位因渐冻症逐渐失去发声能力的用户&#xff0c;通过平板电脑上的一个虚拟形象&#xff0c;清晰地说出了“我想回家看看老母亲”。这不是预录的声音&#xff0c;也不是机械的电子音——那是…

作者头像 李华
网站建设 2026/7/21 10:14:39

Linly-Talker如何避免生成视频出现‘恐怖谷效应’?

Linly-Talker如何避免生成视频出现“恐怖谷效应”&#xff1f; 在虚拟主播、AI客服、数字教师等应用日益普及的今天&#xff0c;一个令人尴尬的问题始终挥之不去&#xff1a;明明技术已经足够先进&#xff0c;为什么我们看到的某些数字人仍然让人感到“毛骨悚然”&#xff1f;这…

作者头像 李华
网站建设 2026/7/21 15:55:17

数据结构—优先级队列(堆)

一.优先级队列的存储优先级队列存储在一堆数组中&#xff0c;分为大堆和小堆&#xff0c;把二叉树按层序遍历得出的结果存储到优先级队列二.堆的分类堆是一颗完全二叉树&#xff0c;堆分为大根堆和小根堆&#xff0c;大根堆根结点比左右孩子结点都大&#xff0c;小根堆相反三.性…

作者头像 李华