
二分
文章平均质量分 52
各种二分
三更鬼
这个作者很懒,什么都没留下…
展开
-
力扣 1235. 规划兼职工作
按照结束时间将工作排序,使用动态规划 + 二分求可获得的最大薪资原创 2022-10-24 16:24:02 · 396 阅读 · 0 评论 -
力扣 668. 乘法表中第k小的数
首先设计方法实现在给定的乘法表中求小于等于 t 的数的个数,然后使用二分求第 k 小的数原创 2022-10-14 21:26:43 · 475 阅读 · 0 评论 -
力扣 378. 有序矩阵中第 K 小的元素
优先队列解法 + 二分解法原创 2022-10-07 21:30:42 · 375 阅读 · 0 评论 -
力扣 剑指 Offer 04. 二维数组中的查找
位运算解法原创 2022-08-03 23:30:36 · 206 阅读 · 0 评论 -
力扣 719. 找出第 K 小的数对距离
二分 + 双指针原创 2022-07-13 15:33:12 · 210 阅读 · 0 评论 -
力扣 153. 寻找旋转排序数组中的最小值
二分原创 2022-04-01 23:56:57 · 369 阅读 · 0 评论 -
力扣 Top100 4. 寻找两个正序数组的中位数
二分原创 2022-03-14 09:00:31 · 228 阅读 · 0 评论 -
力扣 2141. 同时运行 N 台电脑的最长时间
二分原创 2022-01-19 10:30:56 · 327 阅读 · 0 评论 -
力扣 1044. 最长重复子串
题目来源:https://leetcode-cn.com/problems/longest-duplicate-substring/大致题意:给一个字符串 s,找出子串中出现次数超过一次的最长子串思路遍历 1 ~ n-1 长度的所有子串,判断是否出现次数超过一次可以知道,如果长度为 L 的子串出现次数超过一次,那么显然该子串的子串出现次数一定也超过一次。那么当有长度为 L 的子串重复出现时,此时就只用在 L+1 ~ n-1 长度中寻找是否有重复子串,也就是可以使用二分来优化遍历由于本地的字符串长原创 2021-12-23 16:35:42 · 821 阅读 · 0 评论 -
力扣 1610. 可见点的最大数目
题目来源:https://leetcode-cn.com/problems/maximum-number-of-visible-points/大致题意:给定一个坐标,和角度 angle,以及一组点。返回以坐标为圆心,在给定角度 angle 可以任意旋转,半径可以为无限大的情况下,所能覆盖的最多点的数目思路以给定坐标为原点,将给定的点处理为极坐标点,并通过 atan2 函数将坐标转化为角度二分寻找 (degree, degree + angle)能覆盖的最多点的数目因为 degree + ang原创 2021-12-22 16:22:18 · 151 阅读 · 0 评论 -
力扣 300. 最长递增子序列 && 673. 最长递增子序列的个数
题目来源:300. 最长递增子序列、673. 最长递增子序列的个数大致题意:前者就是求出最长递增子序列,后者就是求出最长递增子序列有多少种(只求个数)思路因为每日一题是求最长递增子序列的个数,所以就先做了最长上升子序列(LIS)LIS 动态规划使用一维数组 dp[i] 表示从首位元素到第 i 位的 LIS 长度外层从 0 - n-1 遍历,每次先初始化当前 dp[i] 为 1(最小的 LIS 也为1)内层遍历从 0 到 i 位置之前的所有元素,若当前位置 j 元素值小于 i 位置元素且 d原创 2021-09-25 18:04:34 · 186 阅读 · 0 评论 -
力扣 162. 寻找峰值
题目来源:https://leetcode-cn.com/problems/find-peak-element/大致题意:给出一个数组,返回峰值元素的下标。峰值元素就是极大值,其大于左边的元素和右边的元素。峰值元素可能有多个,返回任意一个即可思路如果不是题目要求算法的时间复杂度为 O(logn),那直接遍历一遍就完事了考虑到当前元素与左右元素的大小,有四种情况当前元素 小于 左边元素,也 小于 右边元素,当前处于坡底,为极小值,这时候要找坡顶往左往右差别不大当前元素 小于 左边元素,但 大于原创 2021-09-15 09:59:05 · 127 阅读 · 0 评论 -
力扣 1894. 找到需要补充粉笔的学生编号
题目来源:https://leetcode-cn.com/problems/find-the-student-that-will-replace-the-chalk/大致题意:给定一个数组,代表每个学生消耗的粉笔数量,再给定一个粉笔数量 k。学生们轮流使用粉笔,如果一轮结束后粉笔未使用完,就再重复一轮。直至到某个学生使用时,剩下的粉笔不够他用,然后返回该学生的下标,思路模拟 + 遍历优化将数组遍历放入一个 while 循环中重复对数组进行遍历,并且遍历的同时将 k 减去当前元素值直至 k原创 2021-09-10 13:53:10 · 148 阅读 · 0 评论 -
力扣 528. 按权重随机选择
题目来源:https://leetcode-cn.com/problems/random-pick-with-weight/大致题意:给定一个数组,数组索引 i 位置的值 w[i] 表示该索引在数组整体中的权重。设计一个方法,随机返回一个索引,被选中的概率与该位置权重相关。思路前缀和 + 二分若所有权重的总值为 sum,权重个数为 n,可以从 1 到 sum 划分成 n 个区间。使用 pre 表示索引 i 之前的所有权重和(包括),那么 [ pre - w[i] + 1, pre ] 即是索引 i原创 2021-08-30 09:37:56 · 202 阅读 · 0 评论 -
力扣 295. 数据流的中位数
题目来源:https://leetcode-cn.com/problems/find-median-from-data-stream/大致题意:新建一个MedianFinder类,实现其构造函数,并且可以实现 void addNum(int num) 方法和 double findMedian() 方法。思路二分插入排序使用一个List列表来存储添加的元素每次添加元素时二分查找插入的位置,保证插入后数组仍然有序。返回中位数时判断列表长度,长度奇偶性不同返回的结果也不同代码:public原创 2021-08-27 10:36:37 · 243 阅读 · 0 评论