二分查找——在单调不下降中找出下标最小不小于key的值,找不到返回-1

    xiaoxiao2023-11-24  172

    package 基本算法; import java.util.Arrays; import java.util.Scanner; public class 二分法_1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int K=sc.nextInt(); int[] ch=new int[n]; for(int i=0;i<n;i++) { ch[i]=sc.nextInt(); } int index=find(ch,K); System.out.println(index); } private static int find(int[] ch, int k) { // TODO Auto-generated method stub int l=-1,r=ch.length-1; while(r-l>1) { int mid=(l+r)/2; if(ch[mid]>=k) { r=mid; }else { l=mid; } } if(ch[r]==k) { return r; }else { return -1; } } }
    最新回复(0)