二分
文章平均质量分 71
Noric!
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3508 设计路由器
三属性的组合保持唯一、不能重复,可以想到利用Map进行快速查找,但由于三个属性共同组成一个单元,使用哪个作为Key都不能快速定位。转而考虑利用Set进行查找,其存储的元素为三个属性的集合,即。是仅提供简单的push、pop、front、back接口,不支持迭代器遍历,适用于FIFO的简单任务;区间内的的元素个数,可以分别写两个函数找到开头和结尾的元素位置,计算二者间的距离即可。1. 数据结构的使用(queue、deque、set、map、tuple),n为元素的位置,从0开始。队列有两种结构可以选择,原创 2025-04-14 00:14:00 · 598 阅读 · 0 评论 -
35 搜索插入位置
由于本题中,有序数组中无重复元素,且如果没找到此元素时,返回要插入的位置,可以使用模版一来解决。与目标值的比较结果,更新下一次搜索区间(左半边或右半边),直至区间大小为1。二分其实是有模版的,而且有两种:一种是从左向右找到第一个。内,题目存在一中特殊情况,即所有元素小于。初始化为[0, N-1]。的位置,即该位置左边的所有元素均小于。二分基本思路是,通过锚定一个中间值。),另一种是从右向左找到第一个。,可知此题用二分查找解决。,把搜索区间一分为二,根据。有一点需要注意:由于。原创 2024-08-08 00:44:48 · 1484 阅读 · 0 评论 -
Leetcode 每个小孩最多能分到多少糖果
本题用二分查找的方式来找糖果数量。 查找的区间:[0, 糖果总和] 判断当前数量是否满足条件:在糖果数组中计算能够分配的孩子数量,如果大于 k 说明这个数量是可行的,遍历一遍数组,时间复杂度为O(N)。 二分查找的复杂度为O(logN),所以总时间复杂度为O(N*logN)。 ————————————————————————————————————— 二分查找的模板: 循环条件:l < r(当l == r 时终止) 中间值计算:mid = (l+r)/2 或者 mid = ceil( (l+r)/.原创 2022-04-03 22:54:52 · 372 阅读 · 0 评论
分享