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

婚介网站建设百度的网址是什么

婚介网站建设,百度的网址是什么,wordpress 不同面包屑,外贸建站有哪些公司1.题目描述 2.思路 方法1(自己写的):一次二分查找找到等于target的一个元素索引axis,然后向左右延伸找边界。 方法2(灵茶山艾府佬的闭区间二分查找写法):定义一个lower_bound()函数找到第一个…

1.题目描述

2.思路

方法1(自己写的):一次二分查找找到等于target的一个元素索引axis,然后向左右延伸找边界。

方法2(灵茶山艾府佬的闭区间二分查找写法):定义一个lower_bound()函数找到第一个大于等于某数的元素索引,分别对target和(target + 1)调用lower_bound()函数即可。

方法3(对方法2的自主延伸):两次二分查找,分别找小于等于(target - 1)的元素索引以及大于等于(target + 1)的元素索引。

3.代码(Python3)

方法1:

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:left, right = 0, len(nums) - 1axis = -1while left <= right:mid = (left + right) // 2if target < nums[left] or target > nums[right]: breakelif nums[mid] < target < nums[right]: left = mid + 1elif nums[left] < target < nums[mid]: right = mid - 1else:if target == nums[left]: axis = leftelif target == nums[right]: axis = rightelse: axis = midbreakif axis == -1: return [-1, -1]left_bound, right_bound = axis, axislb_found, rb_found = False, Falsewhile not lb_found or not rb_found:if not lb_found:if left_bound == 0 or nums[left_bound - 1] != target: lb_found = Trueelse: left_bound -= 1if not rb_found:if right_bound == len(nums) - 1 or nums[right_bound + 1] != target: rb_found = Trueelse: right_bound += 1return [left_bound, right_bound]

方法2:

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:def lower_bound(target_num):left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] >= target_num: right = mid - 1else: left = mid + 1return leftstart = lower_bound(target)if start == len(nums) or nums[start] != target: return [-1, -1]end = lower_bound(target + 1) - 1return [start, end]

方法3:

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:def lower_bound(target_num):left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] >= target_num: right = mid - 1else: left = mid + 1return leftdef higher_bound(target_num):left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] <= target_num: left = mid + 1else: right = mid - 1 return rightstart = lower_bound(target)if start == len(nums) or nums[start] != target: return [-1, -1]end = higher_bound(target)return [start, end]

4.执行情况

方法1:

方法2:

方法3:

5.感想

其实方法3完全就是多此一举,是非常没有必要的。灵神的方法也太妙了。

http://www.dtcms.com/wzjs/477977.html

相关文章:

  • 大流量ip网站怎么做文案短句干净治愈
  • 东莞做微网站建设价格百度电脑端入口
  • admin网站管理系统怎么做广州aso优化公司 有限公司
  • 德阳高端网站建设百度收录网址
  • 校体育网站建设的好处seo主要做哪些工作
  • 阿瓦提网站建设推广引流图片
  • 茶叶网站建设方案免费网站软件
  • 三农建设委员会官方网站it教育培训机构排名
  • 网页设计心得体会总结seo搜索优化技术
  • 毕业答辩ppt模板免费下载 素材网络seo首页
  • 公司支付网站款做凭证app开发需要哪些技术
  • 蚌埠 网站制作班级优化大师怎么下载
  • 某个网站访问慢的原因站长工具综合权重查询
  • 做建设网站的活的兼职帮别人推广app赚钱
  • 温州鹿城网站制作报价深圳关键词推广
  • 百度网址怎么写vue seo优化
  • 河南省内 在哪个网站做商检表亚马逊关键词排名查询工具
  • 济南网站建设网络公司深圳市网络品牌推广
  • 网站建设行业 知乎seo系统优化
  • 申报湖南创新型省份建设专项网站seo外链软件
  • 鹤城建设集团网站seo引擎优化教程
  • 官方网站建设免费刷赞网站推广免费
  • 广州网站建设开顶柜seo课程排行榜
  • 做推广网站的文章术语苏州排名搜索优化
  • 浙江省两学一做网站永州网站seo
  • 淘宝客网站哪里可以做广州最新发布最新
  • 婚庆设备租赁网站源码网站打开速度优化
  • c2c电子商务网站定制开发seo优化网站教程
  • 游戏落地页网站建设网络营销案例分析报告
  • 定远县可以做网站的地方搜索引擎排名优化