weixin_47257038 2022-08-21 17:28 采纳率: 33.3%
浏览 18

Java数组工具类的二分搜索

数组工具类Arrays的binarySearch(int[] , key),如果key在数组里面返回的不应该是key在数组里面的索引值吗
为什么下面的返回值是1嘞(本人能力不足,不喜勿喷),望各位能够答疑解惑,感激不尽

    public static void main(String[] args) {
        int[] nums = {4,4,4};
        int i = Arrays.binarySearch(nums , 4);
        System.out.println(i);  // 1
    }

  • 写回答

2条回答 默认 最新

  • 林晓风 2022-08-21 17:47
    关注

    Arrays.binarySearch()方法,是通过二分法在已经排好序的数组中查找指定的元素,并返回该元素的下标。
    int[] nums = {4,4,4};使用二分法,先从中间分为两份,从中间开始查找,中间的数字是4.满足要求,返回中间数字4的下标,也就是1

    评论

报告相同问题?

问题事件

  • 修改了问题 8月21日
  • 创建了问题 8月21日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据