首页 > 编程语言 >java 封装一个二分查询函数

java 封装一个二分查询函数

时间:2022-09-26 20:57:22浏览次数:58  
标签:二分 arr 封装 min int max mid java

package BinarySearch;

import java.lang.reflect.Array;

public class Test {
    public static void main(String[] args) {
        int arr[] = {2,6,7,8,9,11,13,45,123,544,600 };
        int result = search(arr, 45, 0, arr.length-1 );
        System.out.println(result);

    }
    
    //二分查询
    public static int search (int arr[], int key, int min, int max) {
        if(min>max) return -1;

        while (true) {


            int mid = (min + max) / 2;

            if (arr[mid] > key) {
                max = mid - 1;
            } else if (arr[mid] < key) {
                min = mid + 1;
            } else {
                return mid;
            }


        }
    }
}

 

标签:二分,arr,封装,min,int,max,mid,java
From: https://www.cnblogs.com/p201821460026/p/16732419.html

相关文章

  • 利用JavaWeb,简单实现身份ID校验系统
    <%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>WelcomeCheckIDSystem</title><styletype="text/css">......
  • CDQ&整体二分-三维偏序(陌上花开)
    题面本文讲cdq,整体二分的思路与做法。=分治VS数据结构其实维度这一方面,空间几何可以是维度,像时间这样有规定顺序的词语也可能是维度。cdq三维偏序,一般可以用一维一维的......
  • Java SE 19 虚拟线程
    JavaSE19虚拟线程作者:Grey原文地址:博客园:JavaSE19虚拟线程CSDN:JavaSE19虚拟线程说明虚拟线程(VirtualThreads)是在ProjectLoom中开发的,并从JavaSE19开......
  • 1、什么是JavaScript,有什么特点,作用是什么?
    1.JavaScript是基于对象和事件驱动的解释性脚本语言2.基于对象:js是一种基于对象的语言,这意味着它能运用自己已经创建的对象,因此,许多功能可以来自脚步环境种对象的方法与......
  • java service/web前端解决跨域( CORS policy: Response to preflight request doesn't
    1、什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,只要有一个不同,就是跨域......
  • Fenwick 树状数组上二分
    其实应该叫倍增。由于这篇文章中\(\text{lowbit}\)Acwing244.谜一样的牛给定一个长度\(n\le10^5\)序列,求逆康托。\(0\lea_i<i\)若是\(\logn\)二分,再\(\lo......
  • Java 进阶
    Java进阶1.数组1.1数组的创建注意:new是在堆中创建一个数组或者在堆中分配一块连续的存储空间,把这块空间的引用赋值给数组名还有需要注意的是,数组定义了之后,系统会给......
  • Java 狂神 Day01 Windows快捷键
    Windows快捷键ctrl+E:打开我的电脑ctrl+shift+esc:打开任务管理器alt+F4:关闭窗口alt+tab:切换窗口shift+del:永久删除win+D:返回桌面 ......
  • javascrip的随机应用 ,和练习案例
    //Math.random()//Math.random()返回0(包括)至1(不包括)之间的随机数:varzxc=Math.random()console.log(zxc);//Math......
  • java JDBC 读取MySQL数据
    1、准备1、mysql成功启动2、准备好jdbc驱动包,根据mysql选择版本,mysql-connector-java-5.1.46.jar  --》Stringdriver="com.mysql.jdbc.Driver";mysql-c......