摘要: 此博客为备忘录 阅读全文
posted @ 2021-09-16 14:26 WTSRUVF 阅读(66) 评论(0) 推荐(0)
摘要: 题目链接:319. 灯泡开关 - 力扣(LeetCode) 解析: 两个概念 1. 绝大多数数的约数都是成对出现的(若 x是约数,则 k/x也是),因此约数个数通常是偶数。完全平方数。包含一个自伴的约数(平方根 √k,使得 x = k/x),这个单独的约数打破了“成对”的对称性,从而导致约数总个数为 阅读全文
posted @ 2026-01-23 22:11 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:318. 最大单词长度乘积 - 力扣(LeetCode) 解析: 位运算,将字母表示成01的值,然后& class Solution { public: int maxProduct(vector<string>& words) { int n = words.size(); vector 阅读全文
posted @ 2026-01-22 23:06 WTSRUVF 阅读(5) 评论(0) 推荐(0)
摘要: 题目链接1:316. 去除重复字母 - 力扣(LeetCode) 解析: 字典序最小:要让结果字符串的字典序尽可能小,需要让较小的字符尽量靠前。 去重且保持顺序:每个字符只能出现一次,且相对顺序不能打乱。 关键策略:遍历字符串时,如果当前字符比栈顶字符小,并且栈顶字符在后面还会出现,那么就可以弹出栈 阅读全文
posted @ 2026-01-21 23:12 WTSRUVF 阅读(6) 评论(0) 推荐(0)
摘要: 一、核心思想与适用题型 核心思想 区间DP的核心是将问题分解为子区间求解,通过解决子区间的最优解来构建整个区间的最优解。其基本思路是: 定义状态表示区间[i, j]的属性 通过枚举分割点将大区间划分为两个或多个子区间 将子区间的解合并得到大区间的解 适用题型特征 问题涉及区间操作:如合并、分割、删除 阅读全文
posted @ 2026-01-18 20:14 WTSRUVF 阅读(8) 评论(0) 推荐(0)
摘要: 题目链接:313. 超级丑数 - 力扣(LeetCode) 解析: 一个超级丑数肯定是由小于该数的超级丑数 * prime得来,如果不是这样就有别的因数了 针对每个prime维护一个下标,初始指向第一个超级丑数,也就是1,遍历所有prime * 1 取最小值min_v,min_v就是第二个超级丑数 阅读全文
posted @ 2026-01-16 22:58 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 都反反复复反反复复反反复复反反复复反反复复反反复复反反复复方法都反反复复反反复复反反复复反反复复反反复复反反复复反反复复方法都反反复复反反复复反反复复反反复复反反复复反反复复反反复复方法都反反复复反反复复反反复复反反复复反反复复反反复复反反复复方法都反反复复反反复复反反复复反反复复反反复复反反复复反 阅读全文
posted @ 2026-01-15 11:36 WTSRUVF 阅读(7) 评论(0) 推荐(0)
摘要: 单点查询、区间修改,树状数组 tree的下标注意从1 到 n + 1,从0开始就死循环了 例题: 307. 区域和检索 - 数组可修改 - 力扣(LeetCode) class NumArray { public: vector<int> c; vector<int> array; int n = 阅读全文
posted @ 2026-01-12 22:28 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:279. 完全平方数 - 力扣(LeetCode) 解析: 简单dp class Solution { public: int numSquares(int n) { vector<int> sq; for (int i = 1; i <= 100; i++) { sq.push_back 阅读全文
posted @ 2025-12-24 22:15 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:273. 整数转换英文表示 - 力扣(LeetCode) 解析: 中文转英文:每三位一组,先用英文表示,然后从第二组开始向后几组分别增加单位 "Thousand", "Million", "Billion" 比如101001 "One Hundred One Thousand One" c 阅读全文
posted @ 2025-12-22 22:06 WTSRUVF 阅读(6) 评论(0) 推荐(0)
摘要: 题目链接:https://leetcode.cn/problems/single-number-iii/description/?source=vscode 解析: 异或最终可以得到两个数的异或值,找到该值为1的位数,(必定有一位为1,因为两个数不同) 然后根据该位将数组里的数分成两组 (相同的数肯 阅读全文
posted @ 2025-12-17 23:31 WTSRUVF 阅读(10) 评论(0) 推荐(0)