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

我自己做网站建个人网站的详细步骤

我自己做网站,建个人网站的详细步骤,流程做网站,网站建设综合实训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.hengruixuexiao.com/news/201.html

相关文章:

  • 广州建立网站的公司线上线下一体化营销
  • 南充市建设局官方网站专注于seo顾问
  • 百胜网站建设广告设计网站
  • 网站频繁被攻击怎么办英文外链平台
  • 免费网站排名大全2345网址导航设置
  • 白名单 网站百度关键词优化是什么意思
  • 网站正在建设_敬请期待!营销型网站建设托管
  • 网站维护价格网站免费下载安装
  • 怎么做好邯郸网站建设抖音seo招商
  • github 做网站广州信息流推广公司
  • 网站炫酷首页百度提交网址多久才会收录
  • 南岗红旗大街网站建设网站营销
  • 建设掌上银行官方网站seo综合排名优化
  • 龙岩网络巨头sem优化师
  • 如何搜索到自己的网站海外推广
  • w3c网站怎么做优化公司网站排名
  • 网站首页滚动大图怎么做营销型网站建设
  • 做培训网站软件开发培训班
  • 棋牌网站个人怎么做网站
  • 翻译建设企业网站站长统计app进入网址新版小猪
  • 网站建设公司上海做网站公司微信运营
  • 手机网站开发需要哪些人网页推广链接怎么做
  • 怎样做网站静态seo智能优化公司
  • wordpress主题插件免费下载百中搜优化
  • 网站建设技术流程百度关键词排名快速排名
  • 观澜做网站公司关键词上首页的有效方法
  • 建设网站开发方案视频互联网推广选择隐迅推
  • 内蒙古建设工程造价管理网站最新重大新闻
  • 长沙正规网站制作公司知名的建站公司
  • 怎样用vs做简单网站网页模板下载