
Leetcode
文章平均质量分 85
frans4x
这个作者很懒,什么都没留下…
展开
-
Leetcode第 217 场周赛(思维量比较大)
Leetcode第 217 场周赛 比赛链接:点这里 做完前两题我就知道今天的竞赛我已经结束了 这场比赛思维量还是比较大的。 1673. 找出最具竞争力的子序列 题目 给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列。 数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。 在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 。 例如,[1,3,原创 2020-11-30 17:59:22 · 1090 阅读 · 3 评论 -
Leetcode 327. 区间和的个数 (前缀和 + 离散化 + 树状数组)
Leetcode 327. 区间和的个数 (前缀和 + 离散化 + 树状数组) 题目 题意 有多少个连续的子数组,其和在[lower,upper][lower, upper][lower,upper]之间 题解 可以想到的做法:用前缀和在O(1)O(1)O(1)查询[i,j][i, j][i,j]的和,枚举所有的二元组[i,j][i, j][i,j], 满足条件就加上。 可以优化为:PrePrePre为前缀和数组, 从小到大枚举 jjj, 由于lower≤Pre[j]−Pre[i−1]≤upper\te原创 2020-11-08 10:19:35 · 303 阅读 · 0 评论 -
Morris 遍历
Morris 中序遍历 前言: 我们在中序遍历的时候,一定先遍历左子树,然后遍历当前节点,最后遍历右子树。在常规方法中,我们用递归回溯或者是栈来保证遍历完左子树可以再回到当前节点,但这需要我们付出额外的空间代价。我们需要用一种巧妙地方法可以在 O(1) 的空间下,遍历完左子树可以再回到当前节点。我们希望当前的节点在遍历完当前点的前驱之后被遍历,我们可以考虑修改它的前驱节点的 rightrightright 指针。当前节点的前驱节点的 rightrightright 指针可能本来就指向当前节原创 2020-09-24 15:58:36 · 118 阅读 · 0 评论 -
LeetCode数独问题中Bitset的巧妙用处
LeetCode数独问题中Bitset的巧妙用处 36. 有效的数独 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 输入: [ ["5","3",".",".","7",".",".",".","."], ["6"原创 2020-09-15 14:33:59 · 137 阅读 · 0 评论