上一页 1 2 3 4 5 6 7 ··· 22 下一页
摘要: # 题目链接 [340. 至多包含 K 个不同字符的最长子串](https://leetcode.cn/problems/longest-substring-with-at-most-k-distinct-characters/description/ "340. 至多包含 K 个不同字符的最长子串 阅读全文
posted @ 2023-05-24 09:40 Frodo1124 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目链接 395. 至少有 K 个重复字符的最长子串 思路 代码 class Solution { public int longestSubstring(String s, int k) { int ans = 0; int len = s.length(); char[] cs = s.toCh 阅读全文
posted @ 2023-05-16 09:53 Frodo1124 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目链接 240. 搜索二维矩阵 II 思路 逐行判断 逐行检查最右侧的元素是否比 target 大,如果比 target 大则对当前行进行二分搜索。 二分矩阵 待完成 代码 逐行判断 class Solution { public boolean searchMatrix(int[][] matr 阅读全文
posted @ 2023-05-14 08:22 Frodo1124 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 题目链接 74. 搜索二维矩阵思路 思路 因为矩阵中每行都按升序排列,且每行的第一个整数大于前一行的最后一个整数。所以整个矩阵其实就是一个大的升序的一维数组,可以使用二分查找的方法对“一维数组”进行搜索,只不过在获取元素的过程中需要进行一步一维索引到二维索引的映射。 代码 class Solutio 阅读全文
posted @ 2023-05-13 10:13 Frodo1124 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目链接 278. 第一个错误的版本 思路 二分查找 代码 public class Solution extends VersionControl { public int firstBadVersion(int n) { int left = 1, right = n - 1; while (l 阅读全文
posted @ 2023-05-13 10:00 Frodo1124 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目链接 162. 寻找峰值思路 思路 一个不严谨但是好理解的思路是:如果 $nums[mid] > nums[mid + 1]$,那么 $nums[mid + 1]$ 肯定不是峰值,此时让 $right = mid$,从左边继续找峰值。反之则 $nums[mid]$ 肯定不为峰值,让 $left 阅读全文
posted @ 2023-05-13 09:54 Frodo1124 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题目链接 33. 搜索旋转排序数组思路 思路 都在注释里 代码 class Solution { public int search(int[] nums, int target) { int len = nums.length; if(len == 0){ return -1; } int lef 阅读全文
posted @ 2023-05-07 10:18 Frodo1124 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目链接 528. 按权重随机选择 思路 参考宫水三叶大佬思路 可以回忆一下概率论中所学到的:密度函数与分布函数 在这个题里面呢,数组 w 其实就给出了下标 i 被选中的“概率”(因为总和不是1,所以加了引号),而我们知道离散情况下,分布函数是由密度函数加和求出来的,所以可以使用前缀和 $sum$ 阅读全文
posted @ 2023-05-07 09:10 Frodo1124 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题目链接 540. 有序数组中的单一元素 思路 假如不存在单个的元素,那么在奇数位置上总是成对元素的第一个元素,偶数位置上总是成对元素的第二个元素,但是如果加入了单个元素呢? 我们可以看到在单个元素的左边这个特点没有变化,但是在单个元素的右边,奇数位置上总是成对元素的第二个元素,偶数位置上总是成对元 阅读全文
posted @ 2023-05-07 08:32 Frodo1124 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 题目链接 69. x 的平方根 思路 基本思路是在区间 $[1, x/2]$ 中使用二分查找(因为平方根必然小于 $x/2$),只不过需要注意一些细节。 因为使用的是闭区间查找,所以判断循环终止的条件为 $left \leq right$。 为了防止溢出,使用 mid = (right - left 阅读全文
posted @ 2023-05-07 07:49 Frodo1124 阅读(14) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 22 下一页