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

【数据结构】二分查找-LeftRightmost

查找:

Leftmost(最左侧重复元素)

package 二分查找;public class BinarySearch {public static void main(String[] args) {// TODO Auto-generated method stub}public static int binarySearchBasic(int[] a,int target) {int i=0,j=a.length-1; //设置指针初值int candidate=-1;while(i<=j) { //范围有内容int m=(i+j)>>>2;if(target<a[m]) {j=m-1;}else if(target>a[m]) {i=m+1;}else {candidate=m;j=m-1;     //找最左的元素}}return candidate;}}

Rightmost(最右侧重复元素)

package 二分查找;public class BinarySearch {public static void main(String[] args) {// TODO Auto-generated method stub}public static int binarySearchBasic(int[] a,int target) {int i=0,j=a.length-1; //设置指针初值int candidate=-1;while(i<=j) { //范围有内容int m=(i+j)>>>2;if(target<a[m]) {j=m;}else if(target>a[m]) {i=m+1;}else {candidate=m;i=m+1;     //找最右的元素}}return candidate;}}

插入:

插入位置(>=target的最靠左索引位置)

package 二分查找;public class BinarySearch {public static void main(String[] args) {// TODO Auto-generated method stub}public static int binarySearchBasic(int[] a,int target) {int i=0,j=a.length-1; //设置指针初值while(i<=j) { //范围有内容int m=(i+j)>>>2;if(target<a[m]) {j=m-1;}else {j=m-1;     //找最左的元素}}return i;}}

 Rightmost(<=target的最靠右索引位置)

package 二分查找;public class BinarySearch {public static void main(String[] args) {// TODO Auto-generated method stub}public static int binarySearchBasic(int[] a,int target) {int i=0,j=a.length-1; //设置指针初值int candidate=-1;while(i<=j) { //范围有内容int m=(i+j)>>>2;if(target<a[m]) {j=m;}else{i=m+1;}}return j;}}

相关文章:

  • AWS Elastic Beanstalk控制台部署Spring极简工程(LB版)
  • 若依框架的Excel导出功能
  • 前端流行框架Vue3教程:18. _组件数据传递
  • LIIGO ❤️ RUST 12 YEARS
  • git相关配置
  • EJS教程
  • Pyhton训练营打卡Day27
  • 03、基础入门-SpringBoot的大时代背景
  • Java8到24新特性整理
  • Mac安装Navicat16
  • Linux运行时的参数、命令、网络、磁盘参数和日志监控
  • 产品经理入门——认识产品经理
  • 数据库--向量化基础
  • 大模型相关技术综述
  • IEEE PRMVAI 2025 IEEE PRMVAI 探索人工智能在基础设施建设应用与运维中的新挑战
  • Nextjs首屏加载速度性能从80分优化到98分
  • Python OOP核心技巧:如何正确选择实例方法、类方法和静态方法
  • 【C++】15.并发支持库
  • QML 属性动画、行为动画与预定义动画
  • Flask框架搭建
  • “GoFun出行”订单时隔7年扣费后续:平台将退费,双方已和解
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 美国务卿鲁比奥抵达会场,将参加俄乌会谈
  • 年在沪纳税350亿人民币,这些全球头部企业表示“对上海承诺不会变”
  • 回望星河深处,唤醒文物记忆——读《发现武王墩》
  • 西班牙政府排除因国家电网遭攻击导致大停电的可能