首页 > 其他分享 >Day1

Day1

时间:2024-05-23 23:08:18浏览次数:17  
标签:target nums int mid Day1 查找 数组

今天开始进行为期两个月的代码随想录刷题,并在此更新我的做题记录,也期望博客能成为我记录学习的一个好习惯。
第一章为数组,也叫做顺序表,它的最大特点就是顺序存储且地址连续。
第一道题为二分查找,该方法只适用于数组中元素的大小有序的情况下,基本原理大概为:当给定一个数组以及一个所需要查找的数字时,先取数组最中间的元素即下标为1/2这样的时候,先与之对比。以升序为例,如果中间的元素比所查找的元素大,那么就将查找区间转为该下标的右边部分,反之则查找左边部分。
谈谈实现,由于我是算法菜鸟,因此我并不报仅靠自己就可以实现算法的期望,正如我常说的,我是一个庸才,但我仍然想重复天才已给出的财富,在此之上不断重复以期望找寻自己的创新。扯远了,我们需要一前一后两个指针,这样才可以方便找到数组中间的位置,在这里还要注意边界问题:

func search(nums []int,target int) int {
      left:=0
      right:=len(nums) -1
     for left <= right {
        mid:=left + (right - left)>>1
        if target == nums[mid] {
           return mid
}else if target > nums[mid] {
         left = mid+1
}else{
         right = mid -1
}
}
return -1
}

标签:target,nums,int,mid,Day1,查找,数组
From: https://www.cnblogs.com/leisure535/p/18209545

相关文章

  • Testing Egineer note:2024_5_20-day12-part01
    管理工具禅道一、禅道的介绍(1)定义禅道是一个项目管理工具,也是一个bug管理工具,还是一个用例管理工具。(2)作用:为了解决众多企业在管理中出现混乱,无序的现象,开发出来(3)来源:禅道属易软天川公司(4)禅道是集于产品管理,项目管理,测试管理于一身,同时包含事务管理,组织管理8众多功能,是中小企......
  • react-day1
    1.react特点1.声明式2.组件化3.一次编写,跨平台4.单向数据流5.虚拟DOM6.Diff算法2.脚手架搭建项目npxcreate-react-appmy-appcdmy-appnpmstart3.语法规则1.根元素只能有一个2.jsx中使用使用js表达式,表达式写在{}中......
  • m1_day17
    课程内容:TreeSet集合JCF:java集合框架                   CollectionMap     [单值类型的集合]......
  • m1_day19
    课程内容:Map集合常见的面试题Lambda表达式方法引用Optional类Map集合常见的面试题?HashMap和Hashtable之间的区别?同步特性不同:Hashtable同一时间允许一个线程进行访问效率较低但是不会出现并发错误HashMap同一时间允许多个线程进行访问效率较高但......
  • m1_day10
    课程内容:String类常见的面试题String类常见的20个方法String类常见的面试题:new和不new之间的区别?Stringx="etoak"; Stringy=newString("etoak");不new的方式涉及到常量池查找机制永远先去常量池查看是否缓存过如果缓存过那么直接将值取出来使用如果没......
  • m1_day12
    课程内容:单例模式:Java中的接口单例模式:控制一个类有且只有一个对象醉汉式私有化构造方法防止外界随意的创建对象创建一个私有的静态的属于本类类型的对象提供一个公共的静态的返回本类对象的方法懒汉式-》尚不完善Java中的接口:interface相......
  • m1_day11
    课程内容:StringBuffer类常见的方法面向对象的高阶特征访问权限修饰符static修饰符final修饰符abstract修饰符单例模式StringBuffer类常见的方法:*append(String):往字符串里面追加连接reverse():翻转字符串insert(int,char):往指定下标处插入......
  • m1_day13
    课程内容:Object类的核心方法集合框架集合之ArrayList集合Object类的核心方法:Object是Java中的鼻祖类所有类的直接父类/间接父类toString():制定一个对象打印显示的内容任何一个引用数据类型都默认继承Object类获得toString()方法在Object类中toString()......
  • m1_day14
    课程内容ArrayList集合JCFCollectionMap[单值类型的集合]......
  • m1_day1
    课程内容:Java的优势Java的优势:跨平台*什么是平台平台指的是操作系统常见的操作系统:WindowsUnixLinuxSolaris[Sun]什么是跨平台用Java开发出来的应用程序不受底层操作系统的限制可以运行在所有的操作系统上面这是早期程序员的共同目标底层的功臣:JVM=j......