当前位置: 首页 > news >正文

试管婴儿网站建设兰州网络公司排名

试管婴儿网站建设,兰州网络公司排名,内网网站建设改版方案,织梦做的网站打包在dw修改LeetCode-704. 二分查找【数组 二分查找】 题目描述:解题思路一:注意开区间和闭区间背诵版:解题思路三: 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target &#xf…

LeetCode-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

提示:

你可以假设 nums 中的所有元素是不重复的。
n 将在 [1, 10000]之间。
nums 的每个元素都将在 [-9999, 9999]之间。

解题思路一:注意开区间和闭区间

# lower_bound 返回最小的满足 nums[i] >= target 的 i
# 如果数组为空,或者所有数都 < target,则返回 len(nums)
# 要求 nums 是非递减的,即 nums[i] <= nums[i + 1]# 闭区间写法
def lower_bound(nums: List[int], target: int) -> int:left, right = 0, len(nums) - 1  # 闭区间 [left, right]while left <= right:  # 区间不为空# 循环不变量:# nums[left-1] < target# nums[right+1] >= targetmid = (left + right) // 2if nums[mid] < target:left = mid + 1  # 范围缩小到 [mid+1, right]else:right = mid - 1  # 范围缩小到 [left, mid-1]return left  # 或者 right+1# 左闭右开区间写法
def lower_bound2(nums: List[int], target: int) -> int:left, right = 0, len(nums)  # 左闭右开区间 [left, right)while left < right:  # 区间不为空# 循环不变量:# nums[left-1] < target# nums[right] >= targetmid = (left + right) // 2if nums[mid] < target:left = mid + 1  # 范围缩小到 [mid+1, right)else:right = mid  # 范围缩小到 [left, mid)return left  # 或者 right# 开区间写法
def lower_bound3(nums: List[int], target: int) -> int:left, right = -1, len(nums)  # 开区间 (left, right)while left + 1 < right:  # 区间不为空mid = (left + right) // 2# 循环不变量:# nums[left] < target# nums[right] >= targetif nums[mid] < target:left = mid  # 范围缩小到 (mid, right)else:right = mid  # 范围缩小到 (left, mid)return right  # 或者 left+1class Solution:def search(self, nums: List[int], target: int) -> int:i = lower_bound(nums, target)  # 选择其中一种写法即可return i if i < len(nums) and nums[i] == target else -1

时间复杂度:O(logn)
空间复杂度:O(1)

背诵版:

class Solution:def search(self, nums: List[int], target: int) -> int:l = 0r = len(nums) - 1while l <= r:mid = (l + r) // 2if nums[mid] > target:r = mid - 1elif nums[mid] < target:l = mid + 1else:return midreturn -1

时间复杂度:O(logn)
空间复杂度:O(1)

解题思路三:


时间复杂度:O(logn)
空间复杂度:O(1)


创作不易,观众老爷们请留步… 动起可爱的小手,点个赞再走呗 (๑◕ܫ←๑)
欢迎大家关注笔者,你的关注是我持续更博的最大动力


原创文章,转载告知,盗版必究



在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

http://www.yayakq.cn/news/344836/

相关文章:

  • 施工员证书查询网站异构国际设计公司网站
  • 请人做软件开发的网站实用电子商务网站建立
  • 什么叫H5网站开发做示意图的网站
  • 网站建设的专业知识乐云seo商城网站建设
  • 中山大良网站建设wordpress文章tag
  • 电大的网站界面ui设计训练怎么做wordpress二级菜单调用
  • 东莞网站设计出名 乐云践新宁波网络营销推广开发中心
  • 做网站公司分为国内还是国外深圳外贸公司倒闭
  • 企业网站管理源码f2c网站建设
  • 公司网站要多大空间大气扁平网站
  • 网站网页设计优秀案例北京网站建设类岗位
  • 网站建设初期成都百度seo搜索引擎优化培训
  • 跳转到手机网站代码安阳seo公司
  • 自己做网站要多久个人缴纳养老保险
  • 个人网站建设开题报告深圳全网推广服务
  • 个人可以做哪些有意思的网站咸阳学校网站建设联系电话
  • 设计用哪些网站有哪些建设广州公司网站
  • 西安电商网站建设wordpress apache配置文件
  • 做旅游网站毕设任务书监理网站建设价格多少
  • 河北提供网站制作公司电话太原网站建设哪家强
  • 上海网站关键词wordpress博客下载器
  • 广州建设局官方网站环球军事网最新军事新闻最新消息
  • 网站优化的作用wordpress分类下的所有文章加密
  • 企业网站建设 深圳阳江招聘网站哪里最好找工作
  • 临安网站seo微信营销的方法和技巧
  • 网站开发项目计划书模板什么是网站国内高速空间
  • 硅藻泥网站怎么做淘宝联盟合作网站api
  • 网站托管工作室福州网站建设H5
  • 鹰潭做网站公司淘宝客网站建站教程
  • 网上注册公司流程和费用标准济南网络seo公司