算法
文章平均质量分 54
姜西西_
这个作者很懒,什么都没留下…
展开
-
排序数组 ---- 分治-归并
【代码】排序数组 ---- 分治-归并。原创 2024-06-07 19:54:27 · 242 阅读 · 0 评论 -
分治 - 快排 算法专题
i从头开始遍历, 一共有三种情况:第一种情况:nums[i] == 0, 满足左边的区域, 所以将left++, 交换nums[i]和nums[left], 此时交换过来的值一定是已经判断完的, 所以i++第二种情况:nums[i] == 1, 满足中间的区域, 不需要做交换, 直接让i++第三种情况:nums[i] == 2, 满足最右边的区域, 此时让right--, 交换nums[i]和nums[right], 此时交换过来的数据是还没有判断的, 所以i不能++原创 2024-06-07 15:30:40 · 451 阅读 · 0 评论 -
数组中的第K个最大元素 ---- 分治-快排
【代码】数组中的第K个最大元素 ---- 分治-快排。原创 2024-06-04 19:40:59 · 421 阅读 · 0 评论 -
排序数组 ---- 分治-快排
在处理数据量有很多重复的情况下,效率会大大提升。利⽤随机选择基准函数⽣成⼀个基准元素;利⽤荷兰国旗思想将数组划分成三个区域;递归处理左边区域和右边区域。原创 2024-06-04 19:13:32 · 255 阅读 · 0 评论 -
颜色分类 ---- 分治-快排
【代码】颜色分类 ---- 分治-快排。原创 2024-06-04 18:48:24 · 153 阅读 · 0 评论 -
模拟算法专题
特点: 思路比较简单, 主要考察代码能力优化: 一般是通过找规律。原创 2024-06-03 21:16:17 · 263 阅读 · 0 评论 -
数青蛙 ---- 模拟
【代码】数青蛙 ---- 模拟。原创 2024-06-03 21:12:58 · 385 阅读 · 0 评论 -
外观数列 ---- 模拟
【代码】外观数列 ---- 模拟。原创 2024-06-03 20:19:05 · 211 阅读 · 0 评论 -
Z字形变换 ---- 模拟
【代码】Z字形变换 ---- 模拟。原创 2024-06-02 20:08:59 · 371 阅读 · 0 评论 -
提莫攻击 ---- 模拟算法
【代码】提莫攻击 ---- 模拟算法。原创 2024-06-02 19:36:46 · 653 阅读 · 0 评论 -
替换所有的问号 ---- 模拟
【代码】替换所有的问号 ---- 模拟。原创 2024-06-02 19:30:20 · 160 阅读 · 0 评论 -
位运算专题
< 左移>> 右移~ 按位取反& 按位与 口诀: 有0则0| 按位或 口诀: 有1则1^ 异或 口诀:相同为0,相异为1 / 无进位相加做题时, 能加括号就加括号, 无需管优先级如何解释:约定:从右往左依次是0,1,2....假设这个数n为 0110010, 他的第x位, 假设是第2位想要知道这个数是0还是1, 我们可以把这个数 &1 即可, 如果是0, 那么0&1=1, 如果是1, 那么1&1=1。原创 2024-06-02 18:27:26 · 735 阅读 · 0 评论 -
面试题 17.19.消失的两个数字 ---- 位运算
【代码】面试题 17.19.消失的两个数字 ---- 位运算。原创 2024-05-31 20:49:42 · 196 阅读 · 0 评论 -
只出现一次的数字II ---- 位运算
【代码】只出现一次的数字II ---- 位运算。原创 2024-05-31 20:06:48 · 433 阅读 · 0 评论 -
两整数之和 ---- 位运算
【代码】两整数之和 ---- 位运算。原创 2024-05-31 19:42:16 · 1109 阅读 · 0 评论 -
丢失的数字 ---- 位运算
【代码】丢失的数字 ---- 位运算。原创 2024-05-30 20:43:18 · 231 阅读 · 0 评论 -
面试题 判断字符是否唯一 ---- 位运算
【代码】面试题 判断字符是否唯一 ---- 位运算。原创 2024-05-30 20:37:05 · 324 阅读 · 0 评论 -
前缀和算法专题
应用: 计算数组中某区间的和。原创 2024-05-27 13:38:26 · 192 阅读 · 0 评论 -
矩阵区域和 ---- 二维前缀和
计算x1应该等于i+k, 但是如果越界, 只能按m-1算, 所以应该取i+k和m-1的最小值, y2同理。计算x1应该等于i-k, 但是如果越界, 只能按0算, 所以应该取i-k和0的最大值, y2同理。所以我们只需要直到要求面积的左上下标x1y1 右下下标x2y2 即可。计算区间的面积, 假设是红色区域。原创 2024-05-27 13:35:25 · 431 阅读 · 0 评论 -
连续数组 ---- 前缀和
【代码】连续数组 ---- 前缀和。原创 2024-05-27 13:08:36 · 342 阅读 · 0 评论 -
和可被k整除的子数组 ---- 前缀和
因为要计算[0,i-1] 区间找有多少个前缀和的余数 = (sum[i] % k + k) % k, 所以要先更新有多少个前缀和的余数 = (sum[i] % k + k) % k 的个数, 再将sum[i]放到哈希表中。如果从0到i的位置的和能被k整除, 那么在[0,i-1] 的位置寻找前缀和应该是0, 也是一种情况, 但是哈希表中存的是前缀和的余数, 所以哈希表中应该添加(0 % k,1)2. 不用真的创建一个前缀和数组。1. 前缀和加入哈希表的时机?3. 如果整个前缀和等于k?原创 2024-05-27 12:34:23 · 422 阅读 · 0 评论 -
和为k的子数组 ---- 前缀和
【代码】和为k的子数组 ---- 前缀和。原创 2024-05-26 18:18:17 · 371 阅读 · 0 评论 -
除自身以外数组的乘积 ---- 前缀和
此时g[i] 表示: 后i + 1个数的积, 那么g[i + 1] 就表示后i + 2的积, 所以让g[n - 1] = 0, i从n-2开始, 从后往前遍历。此时f[i] 表示: 前i - 1个数的积, 那么f[i - 1] 就表示前i - 2的积, 所以让f[0] = 1, i从1开始, 从前往后遍历。求[i + 1,n - 1]的积 用一个后缀数组g。先求[0,i - 1]的积 用一个前缀数组f。原创 2024-05-26 17:43:31 · 219 阅读 · 0 评论 -
寻找数组的中心下标 ---- 前缀和
【代码】寻找数组的中心下标 ---- 前缀和。原创 2024-05-23 16:14:34 · 301 阅读 · 1 评论 -
二维前缀和[模版]
【代码】二维前缀和[模版]原创 2024-05-23 15:15:54 · 326 阅读 · 0 评论 -
一维前缀和[模版]
【代码】一维前缀和[模版]原创 2024-05-23 14:35:50 · 356 阅读 · 0 评论 -
二分查找算法专题
答案。原创 2024-05-22 15:45:51 · 659 阅读 · 0 评论 -
寻找旋转排序数组中的最小值 ---- 二分查找
【代码】寻找旋转排序数组中的最小值 ---- 二分查找。原创 2024-05-21 17:25:15 · 276 阅读 · 0 评论 -
寻找峰值 ---- 二分查找
【代码】寻找峰值 ---- 二分查找。原创 2024-05-21 15:05:53 · 507 阅读 · 0 评论 -
山脉数组的峰顶索引 ---- 二分查找
【代码】山脉数组的峰顶索引 ---- 二分查找。原创 2024-05-21 13:02:39 · 379 阅读 · 0 评论 -
搜索插入位置 ---- 二分查找
【代码】搜索插入位置 ---- 二分查找。原创 2024-05-21 12:42:30 · 383 阅读 · 0 评论 -
x的平方根 ---- 二分查找
因为我们要的结果可能是正好等于target位置, 和取整数部分时可能会小于target的位置, 所以<=在一组, >在一组。为什么分成<= 和 > 而不是 < 和>=?原创 2024-05-20 19:56:15 · 415 阅读 · 0 评论 -
二分查找
【代码】二分查找。原创 2024-05-19 19:38:36 · 306 阅读 · 1 评论 -
滑动窗口算法及相关习题
还有一步是。原创 2024-05-15 20:22:59 · 334 阅读 · 0 评论 -
最小覆盖子串 ---- 滑动窗口
【代码】最小覆盖子串 ---- 滑动窗口。原创 2024-05-15 15:29:45 · 357 阅读 · 0 评论 -
串联所有单词的子串 ---- 滑动窗口
但是如果left和right从零开始, 每次移动len个字符, 不能够找到所有的长度为len子字符串, 所以我们需要重新遍历字符串, 此时从0的下一个位置开始, 每次移动len个字符,words数组的长度为2, 那么窗口大小就固定了是2, 但是每个元素是长度len为3的字符串, 所以真正的。上次我们使用的是哈希数组, 因为数组的下标可以是字符, 现在变成字符串, 所以我们可以使用。我们上次做的题目, 是找到所有字符的异位词, 和这道题有些类似, 使用。的个数找到子字符, 此题无非是把字符变成了字符串。原创 2024-05-14 19:10:53 · 723 阅读 · 0 评论 -
找到字符串中所有字母异位词 ---- 滑动窗口
【代码】找到字符串中所有的字母异位词 ---- 滑动窗口。原创 2024-05-14 12:53:39 · 434 阅读 · 0 评论 -
将x减小到0的最小操作数 ---- 滑动窗口
【代码】将x减小到0的最小操作数 ---- 滑动窗口。原创 2024-04-29 14:37:32 · 196 阅读 · 0 评论 -
最大连续1的个数 ||| ---- 滑动窗口
【代码】最大连续1的个数 ||| ---- 滑动窗口。原创 2024-04-28 22:00:16 · 314 阅读 · 0 评论 -
长度最小的子数组 ---- 滑动窗口
【代码】长度最小的子数组 ---- 滑动窗口。原创 2024-04-27 21:13:59 · 335 阅读 · 0 评论