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

{-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. light oj 1011Marriage Ceremonies
  2. excel文件修复工具_Windows商店上架文件恢复工具!仅8.29MB,纯净无捆绑,80%修复率...
  3. matlab 思维数组_如何在Matlab中保存多维数组?
  4. Struts2框架原理
  5. 如何使用 C# 扩展方法
  6. 一位老工程师的忠告,切记!
  7. Zernike函数拟合曲面--MATLAB实现
  8. 栈的top指针指向哪里_数据结构-栈
  9. 【干货】神经网络SRU
  10. MATLAB(五) 图像处理--图像分割
  11. samkoon触摸屏软件sktool编程下载问题
  12. xp系统进不去2008服务器共享,xp系统设置访问Server 2008R2的共享不输入密码的方法...
  13. 关于三极管集电极电压1V以上后伏安特性曲线不右移
  14. 计算机控制技术第二章,微型计算机控制技术 赖寿宏版 课件 第二章.ppt
  15. layim php,Workerman+LayIM+ThinkPHP5的webIM,即时通讯系统 – ThinkPHP框架
  16. Oracle 监听器无法启动(TNS-12555,TNS-12560,TNS-00525)
  17. “大数据杀熟”?商家对数据的使用可能远超出想象
  18. 自己做量化交易软件(31)小白量化实战5--板块股票池与基本面选股
  19. 零基础入门网络渗透到底要怎么学?
  20. C# Winform 计算机原理模型机的设计——带超前进位加法器

热门文章

  1. 前端 新工作入职前需处理的事项 入职新手包 入职注意事项
  2. M3033 内置PD2.0/QC2.0快充协议2-7串多节升降压锂电充电管理IC方案
  3. ROC 曲线讲解 (Receiver Operarating Curve)
  4. 如何在CentOS中加入sl(跑火车)命令
  5. 什么是像ANSI和Unicode这样的字符编码,它们有何不同?
  6. python爬取王者_Python爬取王者荣耀所有英雄以及高清大图
  7. WEKA3.6中LibSVM的使用
  8. 强制关机/重启/注销
  9. 做市场需要的智能眼镜可以赚钱
  10. Fel表达式计算引擎学习 侵删