zoukankan      html  css  js  c++  java
  • 二分法的最简便写法

      二分法查找是非常经典的定位查找算法,下面写一个记录之:

      题目:有一个从小到大的有序数组如{1,2,3,3,5,9,10},有一个数为5,查找这个数在此数组中最邻近的下标。

      思路:可以采用二分法来解此题。

      

     /**
       * 查找区间 first闭区间  last 开区间  如[0,6)
       *
       * @param array  查找数组
       * @param first  查找开始下标闭区间
       * @param last   查找结束下标开区间
       * @param source 需要查找的目标值
       * @return
       */
      static int searchIndexFromArray(int[] array, int first, int last, int source) {
        while (first < last) {
          int middle = first + (last - first) / 2;
          if (array[middle] < source) {
            first = middle + 1;
          } else {
            last = middle;
          }
        }
        return first;
      }
    View Code
  • 相关阅读:
    hadoop 配置
    spark 学习网站和资料
    spark-submit 提交任务及参数说明
    python 浮点运算
    nginx 和 php
    clojure 语法
    编程语言
    spark
    mvn 与 pom.xml
    偏导数与偏微分
  • 原文地址:https://www.cnblogs.com/wuyouwei/p/10824388.html
Copyright © 2011-2022 走看看