力扣 5-11

704. 二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1

这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件

 <script>

        // var nums = [-1,0,3,5,9,12];
        // let target = 9;
        // for(var i = 0;i <= nums.length - 1;i++){
        //     if(nums[i] == target){
        //         document.write(i);
        //     }
        // }


        var search = function(nums,target){
            let left = 0;
            var mid = 0;
            let right = nums.length - 1;
            while(left <= right){
                mid = left + ((right = left) >> 1);
                if(nums[mid] > target){
                    right = mid - 1;
                }else if(nums[mid] < target){
                    left = mid + 1;
                }else{
                    return mid;
                }
            }
            return -1;
        }
        var nums = [-1,0,3,5,9,12];
        let target = 9;

        document.write(search());



    </script>

这里我用了两方法

第一种室暴力方法

第二种是·二分法,二分法有许多细节你可以好好看看

相关推荐

  1. 5.14 每日一题 贪心

    2024-05-12 12:56:10       43 阅读
  2. 练习4.11

    2024-05-12 12:56:10       43 阅读
  3. 12.20

    2024-05-12 12:56:10       68 阅读
  4. 12.25

    2024-05-12 12:56:10       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 12:56:10       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 12:56:10       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 12:56:10       87 阅读
  4. Python语言-面向对象

    2024-05-12 12:56:10       96 阅读

热门阅读

  1. 【AMBA Bus ACE 总线 9 -- Non-cache IO device】

    2024-05-12 12:56:10       33 阅读
  2. 编译OpenResty遇到找不到OpenSSL的解决办法

    2024-05-12 12:56:10       34 阅读
  3. 汇编个位数求和实验

    2024-05-12 12:56:10       36 阅读
  4. Python梯度下降算法

    2024-05-12 12:56:10       36 阅读
  5. pat乙1030

    2024-05-12 12:56:10       29 阅读
  6. GitLab CI/CD的原理及应用详解(三)

    2024-05-12 12:56:10       29 阅读
  7. Mysql中的DML

    2024-05-12 12:56:10       34 阅读