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

3.整数二分

在这里插入图片描述
在这里插入图片描述

模板

package base;public class Bsearch {public int binary_search1(int l, int r){while (l<r){int mid = (l+r+1)>>1;if(check(mid)) l=mid;else r = mid-1;}return l;}public int binary_search2(int l, int r){while (l<r){int mid = (l+r)>>1;if (check(mid)) r = mid;else l=mid+1;}return l;}public boolean check(int mid){return false;}
}

例题:
在这里插入图片描述

package test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Test1 {public static void main(String[] args){BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));try{System.out.println("输入数组长度:");int n = Integer.parseInt(bf.readLine());//定义数组int a[] = new int[n];for(int i = 0;i<n;i++){System.out.println("在数组中添加第"+(i+1)+"个数据:");a[i] = Integer.parseInt(bf.readLine());}//定义查询个数System.out.println("输入要查询元素的个数:");int q = Integer.parseInt(bf.readLine());//开始查找while(q-->0){System.out.println("输入要查询元素值:");int x = Integer.parseInt(bf.readLine());binary_search(n,a,x);}}catch(IOException e){e.printStackTrace();}}/*n:数组长度a[]:数组x:要查询的数x*/public static void binary_search(int n,int[] a,int x){//定义指针int l = 0,r = n-1;while(l<r){//确定左边界int mid = (l+r)>>1;if(a[mid]>=x) r=mid;else l=mid+1;}if(a[l]!=x){System.out.println("-1 -1");return;}else System.out.print(l+" ");//确定右边界l = 0;r = n-1;while(l<r){int mid = (l+r+1)>>1;if(a[mid]<=x) l = mid;else r=mid-1;}System.out.println(l);}}

http://www.mrgr.cn/news/38145.html

相关文章:

  • C语言开发基础新手快速入门及精通系列学习教程(系统性完整C语言学习笔记整理)
  • 逆变器控制技术
  • 继承实现单例模式的探索(二)
  • 前端大模型入门:使用Transformers.js手搓纯网页版RAG(二)- qwen1.5-0.5B - 纯前端不调接口
  • 变量的定义和声明
  • C++入门基础知识90(实例)——实例15【求两数的最大公约数】
  • 初试React前端框架
  • 昇思MindSpore进阶教程--数据处理管道支持Python对象
  • 软件设计模式概述
  • 【JAVA开源】基于Vue和SpringBoot的师生健康管理系统
  • # linux从入门到精通(三)
  • 【幂简集成】手机归属地查询API,精准获取号码所在地,提升数据准确率
  • flatten()
  • Python知识点:如何使用Spark与PySpark进行分布式数据处理
  • 基于SSH的酒店管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • opencv-如何获取图像区域特定像素区域大小
  • 万字长文详解FreeRTOS软件定时器
  • Python in Excel作图分析实战!
  • 一个好用的服务治理组件Sentinel
  • AI大模型:揭秘AI产品经理与传统产品经理的差别与转型攻略