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

一元云够网站建设国外做网站的软件

一元云够网站建设,国外做网站的软件,西安网站托管哪家好,网站建设 考核指标今日题目#xff1a; 704. 二分查找35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置 目录 今日总结Problem 1: 二分法LeetCode 704. 二分查找 【easy】LeetCode 35. 搜索插入位置 ⭐⭐⭐⭐⭐LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 【medi… 今日题目 704. 二分查找35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置 目录 今日总结Problem 1: 二分法LeetCode 704. 二分查找 【easy】LeetCode 35. 搜索插入位置 ⭐⭐⭐⭐⭐LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 【medium】 今日总结 重点学习了使用二分法来解决问题需要特别理解的是二分法在通过 while(low high) 循环后low 与 high 的关系所呈现出来的性质以及为什么能够呈现这样的性质。利用这个性质可以更容易地解决相关问题。 Problem 1: 二分法 LeetCode 704. 二分查找 【easy】 704. 二分查找 | LeetCode 这个题目很经典题目本身很简单但这里有一种具有普适性的写法可以用来解决其他二分查找相关的题目这里需要着重学习一下 关键理解好二分法在经过 while(low high) 这个循环后low 和 high 所呈现出来的结果的性质 high 最后一定是在 low 左边而且 high low - 1形成一个交错low 和 high 中间将数字序列划分成了两个部分 左半边从开始到 high 为止都是小于 target右半边从 low 到结束都是大于等于 target 为什么会具备这样的性质 简单来说因为 while 的判断是 low high所以最终 low 一定是大于 high。 同时low 和 high 每次更新都是基于 mid 来向前或向后一步走而 mid 是一定出现在 [low,high] 这个区间内所以每次更新的结果是low 或 high 一定是处于原先 [low,high] 范围内或者这个范围的左边或右边一个为止。所以最终一定是 high low - 1。 当然目前也很容易理解 [0, high] 一定是小于 target[low, end) 一定是大于等于 target。因为当 nums[mid] target 时我们是将 high 移动到 mid 左边这样的结果就是让等于 target 元素的值出现在了 high 右边所有右半边才会有等于 target 的元素。 在上面的代码中low 最终指向的是第一个大于等于 target 的元素但由于 target 可能不存在所以在作为结果返回时需要判断一下 low 是否在 nums 的合法范围内以及 low 指向的值是否等于 target。 学会了这个题目下面几个题目就是可以利用这里总结的性质来解决。 LeetCode 35. 搜索插入位置 ⭐⭐⭐⭐⭐ 35. 搜索插入位置 | LeetCode 通过这个题对二分法的思路有了更深入的理解。 这个题目是返回搜索的位置或者插入的位置自然也就是 low 的位置所以代码如下 整体与第一个二分法的题目一样只是最后直接把 low 给 return 出去而已。 所以学习二分法需要注意 代码中 while 的条件、low 与 high 变更的方式经过 while 循环后 low 与 high 所呈现出来的性质 LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 【medium】 34. 在排序数组中查找元素的第一个和最后一个位置 | LeetCode 这个题目就有难度了解决这个题目需要依靠我们在上面的题目中总结出来的经验。 由于题目要求复杂度 O ( log ⁡ n ) O(\log n) O(logn)所以需要通过两次二分查找来分别找到左边界和右边界。 刚刚我们总结到当经过 while 循环后low 指向了第一个大于等于 target 的元素这不就是这个题目的左边界嘛所以我们可以写出找左边界的代码但是因为这个题目中 nums 中的数字是可能重复的所以我们需要做一些更改 这个代码有两点需要我们特别关注 当 val target 的时候我们是更新 low 还是 high左边界和 low 的关系 在上面代码中如果 val target那么就让 high 移动到 mid 左边这样的结果就是当 while 循环完之后等于 target 的元素都出现在了右半边也就是 [low, end) 这个区间内所以 low 才成了左边界。 同时因为 low 可能超出 nums 的索引范围以及可能没有找到 target所以给左边界 first 赋值时需要检查一下检查不通过就是赋值 -1代表没有找到。 根据刚刚的思路当 val target 时如果我们让 low 移动到 mid 右边那么 while 循环完的结果就变成了 “target 的元素都出现了左半边”也就是 [0, high] 这个区间所以 high 自然就成了右边界。 所以寻找右边界的二分写法是 注意这里与找左边界的区别。
http://www.w-s-a.com/news/517866/

相关文章:

  • 重庆做网站公司贴吧廊坊公司快速建站
  • 海外贸易在什么网站做怎么排名到百度第一页
  • 线上注册公司是在哪个网站做高仿网站
  • 网站构架图网上推广平台哪个好
  • 公司网站首页图片素材vi设计的目的和意义
  • 网站的需求分析都有哪些内容济南营销型网站建设团队
  • 怎么选择优秀的网站建设公司生鲜网站开发
  • 如何编写网站建设销售的心得网站的权限管理怎么做
  • 网站业务员好做吗无忧网站优化
  • 网站随机代码网站建设费 账务处理
  • 商洛网站建设哪家好网站建设 织梦者
  • 怎么创建收费网站宁夏住房和城乡建设部网站
  • 怎么确认网站是什么语言做的用php和mysql做网站
  • 安徽做网站的公司有哪些星子网络公司
  • 肥西县重点工程建设管理局网站wordpress界面菜单怎么弄
  • 宁夏网站开发设计说明书wordpress主题背景图片
  • 同一个阿里云可以做两个网站吗织梦 帝国 学校网站
  • 城阳网站建设培训网站后台怎么上传文件
  • 重庆茂尔建设集团有限公司网站网页制作教程软件
  • 金湖建设工程质量监督网站高端网站建设公司哪里济南兴田德润实惠吗
  • 站酷设计网站官网入口文字设计seo网站推广工具
  • 专业移动网站建设网站建设软件dw
  • 摄影网站设计思想视觉传达毕业设计作品网站
  • 需要优化的网站有哪些设计装修app
  • 数据型网站建设东莞好的网站国外站建设价格
  • 网络营销方法有哪些举例seo应用领域有哪些
  • 建设银行官方网站官网做网站的专业叫什么
  • 矿区网站建设濮阳做网站的公司有哪些
  • 有什么网站可以自己做书甘肃建设厅网站首页
  • 门户网站建设哪专业怎么把自己做的网站登录到网上