在一个没有重复数字的升序数组中查找某一个数值的位置,例如:

{-1,0,3,5,9,12} 找9出现的位置,结果为4
{3,5} 找5出现的位置,结果为1

public class Solution {public static void main(String[] args){int[] array={3,5};int target=3;System.out.println(gettarget(array,target));}public static int gettarget(int[] array,int target){int left=0,right=array.length-1;while (left<=right){   //注意这里是left<=right时int mid=(left+right)/2;if(array[mid]==target)return mid;else if(array[mid]>target)right=mid-1;  //这里是调整 right=mid-1else left=mid+1;  //这里是调整 left=mid+1}return -1;}
}

在一个有重复数字的升序数组中查找某一个数值的位置,例如:

{-1,0,3,5,7,8,9,9,9,9,12} 找9出现的第一个位置,结果为6

public class Solution {public static void main(String[] args){int[] array={-1,0,3,5,7,8,9,9,9,9,12};int target=9;System.out.println(gettarget(array,target));}public static int gettarget(int[] array,int target){int left=0,right=array.length-1;while (left<right){   //注意这里是left<right时int mid=(left+right)/2;if(array[mid]<target)left=mid+1;else if(array[mid]>target)right=mid-1;  else right=mid;  //否则会陷入死循环}return left;}
}

在一个有重复的旋转升序数组中找到最小值,例如:

{3,4,5,1,2} 找到最小值:1

{1,0,1,1,1} 找到最小值:0

public class Solution {public static void main(String[] args) {int[] array={1,0,1,1,1};System.out.println(minNumberInRotateArray(array));}public static int minNumberInRotateArray(int [] array) {//在旋转数组中找到最小值int left=0,right=array.length-1;while (left<=right){int midindex=(left+right)/2;int midnum=array[midindex];if(midnum>array[right])left=midindex+1;else if(midnum<array[right])right=midindex;else --right;  //注意可能会出现重复}return array[left];}
}

未完待续;


Life is but a dream!

left<=right or left<right相关推荐

  1. <binding>和<operation>元素

    <binding>和<operation>元素 Binding栏是完整描述协议.序列化和编码的地方,Types, Messages和PortType栏处理抽象的数据内容,而Bi ...

  2. Error: illegal invocation in <execute> or <revert> phase (action: element.updateProperties或Laber)

    报错类似于:Error: illegal invocation in <execute> or <revert> phase (action: element.updatePr ...

  3. 2021-12-11 工作记录--Wechat applet-结合<van-popup>和<van-picker> 实现年份、月份下拉选择弹窗+禁止滚动穿透

    结合<van-popup>和<van-picker> 实现年份.月份下拉选择弹窗 一.实现效果 二.实现代码 1.HTML attendance.wxml <!-- 年份 ...

  4. 顺序表基本操作<小白一听就懂!!!><超详细><接地气>

    顺序表基本操作<小白一听就懂!!!><超详细>&&<接地气> ***小编前言*** 完整代码 // 头文件 //主函数 // 初始化 /*运用指针* ...

  5. c#_List<T>(IEnumerable<T>)

    下面的示例演示了对 List<T> 范围执行操作的类的构造函数和各种方法 List<T> . 创建一个字符串数组,并将其传递给构造函数,并用数组的元素填充该列表. Capaci ...

  6. HTML <label>标签</label>中的“ for”属性有什么作用<label>?</label>

    本文翻译自:What does "for" attribute do in HTML tag? I wonder what is the difference between th ...

  7. linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法

    运行shell脚本时,mv/cp时出现如下提示: mv: will not overwrite just-created <filename> with <sameFilename& ...

  8. mapper中 <include refid=“XXX“></include>标签 <sql id=“XXX“>标签

    引言 include标签用法是引用sql片段 sql标签 是书写sql片段 被include 引用的 <sql id="query_where"><where&g ...

  9. maven <type>pom</type><scope>import</scope>

    我们知道Maven的继承和Java的继承一样,只能单继承,无法实现多继承,你是否想过我们如果要继承多个父模块的时候应该怎么做呢?或许你会想只往一个父模块中添加jar包依赖,只继承一个父模块就可以了,但 ...

  10. 《JVM系列》深入浅出类加载机制中<init>和<Clinit>的区别【一篇即可搞懂初始化机制】

    文章目录 前言:init和Clinit怎么产生的? 1.init方法 1.1.init方法什么时候被调用?用来做什么? 1.2.那么实例变量赋值操作.非静态代码块.构造器这三者,哪一个会先执行呢? 1 ...

最新文章

  1. python实现找零钱_找零钱的最优步骤 探究(python)
  2. MySql错误处理(三)- 错误处理的例子
  3. 数据库MYSQL学习系列二
  4. 可以给img元素设置背景图
  5. 内存分段分页机制理解_深入理解虚拟机,JVM高级特性-自动内存管理机制
  6. elasticsearch mapping之index
  7. 2M线路保护实现与应用
  8. Python 第五天
  9. linux 离线安装中文,linux离线安装及配置redis-Go语言中文社区
  10. DxO FilmPack 5教程:对照片进行艺术渲染,使其具有专业电影的色彩和颗粒感
  11. VMWare 虚拟机安装及新建虚拟机
  12. arcgis api for js入门开发系列六地图分屏对比(含源代码)
  13. 用JavaScript刷leetcode(刷题 第一天)
  14. jqgrid本地数据例子_FMS财务系统:日常数据核对与处理
  15. wxWindows 程序编译选项设置统揽
  16. 使用python 批量修改图片分辨率
  17. ERROR 2002 HY000 Can't connect to local MySQL server thro
  18. java批处理框架 pdf_《Spring Batch 批处理框架》PDF 下载
  19. 淘宝客商品推广图片合成(包含二维码、图片、价格)
  20. 《阿凡达》的元宇宙帝国多久抵达现实?

热门文章

  1. 欧洲统一语言参考标准C1,CEFR(欧洲共同语言参考标准)与英语考试换算标准
  2. 【Delphi】阿里云OSS SDK D7 D2007 D2010 XE2 XE7 XE8 XE10跨平台 支持STS 支持媒体上传
  3. 以精益思想为产品方法
  4. 记录一下折腾Ubuntu 20.04部署lammps GPU加速 2*AMD 7742 1*NVIDIA 3090
  5. PxCook 像素大厨
  6. 测试工程师常用面试题
  7. 使用Realsense测试aruco_ros包
  8. 论文修改建议(WangLR 20211012 第一次通篇检查)
  9. 图像质量评估各项指标(一)
  10. 信号(2)信号处理器函数