首页 > 其他分享 >704. 二分查找

704. 二分查找

时间:2022-10-12 10:56:01浏览次数:67  
标签:二分 num target nums 704 mid int 查找

704. 二分查找

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

输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4
解释: 9 出现在 nums 中并且下标为 4

示例 2:

输入: nums = [-1,0,3,5,9,12], target = 2
输出: -1
解释: 2 不存在 nums 中因此返回 -1

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。
  2. n 将在 [1, 10000]之间。
  3. nums 的每个元素都将在 [-9999, 9999]之间。
func search(nums []int, target int) int {
    left,right := 0,len(nums)-1
    for (left <= right) {
        // ':=' 可以出现在for循环中重复使用,即第一次是声明和赋值,后面循环中仅赋值
        mid := left+(right-left)>>1
        num := nums[mid]
        if target == num {
            return mid
        }
        if target > num {
            left = mid + 1
        } else {
            right = mid - 1
        }
    }
    return -1
}

 

标签:二分,num,target,nums,704,mid,int,查找
From: https://www.cnblogs.com/fulaien/p/16783737.html

相关文章

  • 查找表
    查找表查找表:是由同以类型的数据元素(或记录)构成的集合。由于"集合"中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构什么查找?根据给定的某个值,在查找......
  • 【程序员必会十大算法】之二分查找算法
    1.递归实现①不考虑相同数/***二分查找,不考虑有相同数的情况(递归)*@paramarr*@paramleft*@paramright*@paramfindVal*@return*/publicstaticintbinarySe......
  • leetcode 785. Is Graph Bipartite判断二分图 (中等)
    一、题目大意存在一个无向图,图中有n个节点。其中每个节点都有一个介于0到n-1之间的唯一编号。给你一个二维数组graph,其中graph[u]是一个节点数组,由节点u......
  • Leetcode 33 -- 二分查找&&归约思想
    题目描述搜索旋转排序数组思路思路来源一个清晰的思路:这道题和平常二分法查找的不同就在于,把一个有序递增的数组分成了,两个递增的数组,我们需要做的就是判断这个......
  • ARC101B Median of Medians - 二分 - 树状数组 -
    题目链接:https://atcoder.jp/contests/arc101/tasks/arc101_b题解:直接求序列的中位数不好求,考虑分析性质:设\(b_i=(-1)^{[a_i\geqk]}\),如果\([l,r]\)的中位数小于k......
  • 函数基础2-函数参数,名称空间和作用域,名字的查找顺序
    目录函数基础2-函数参数,名称空间和作用域,名字的查找顺序今日内容概要今日内容详细函数参数值位置参数默认参数可变长形参可变长实参命名关键字参数(了解)名称空间名称空间存......
  • 函数参数、名称空间与作用域、名字的查找顺序
    函数参数、名称空间与作用域、名字的查找顺序目录函数参数、名称空间与作用域、名字的查找顺序一、函数参数1.形参与实参2.位置参数3.关键字参数4.默认参数5.可变长形参6.......
  • DS | 折半查找二叉判定树的画法
    以下给出我在学习中总结的一种比较简便的构造折半二叉判定树的思路以及方法:思路分析:在计算\(mid\)值时,使用的时\(mid=(low+high)/2\)。这里由于\(mid\)为int类......
  • python练习题-数据类型-列表拼接,按指定字符串查找,首尾去空(三)
    1.问题描述。把下图中列表,元组,字典中的值,组成一个列表。并查找列表中元素,移除每个元素的空格,并查找以a或者A开头并且以c结尾的所有元素。li=["alec","aric","Alex","T......
  • 004 二分法
    //二分法判断一个数是否存在(有序数组)publicstaticBooleanBSExist(int[]arr,intnum){if(arr==null||arr.length==0){returnfal......