摘要: 此博客为备忘录 阅读全文
posted @ 2021-09-16 14:26 WTSRUVF 阅读(65) 评论(0) 推荐(0)
摘要: 题目链接:https://leetcode.cn/problems/single-number-iii/description/?source=vscode 解析: 异或最终可以得到两个数的异或值,找到该值为1的位数,(必定有一位为1,因为两个数不同) 然后根据该位将数组里的数分成两组 (相同的数肯 阅读全文
posted @ 2025-12-17 23:31 WTSRUVF 阅读(3) 评论(0) 推荐(0)
摘要: 题目链接:233. 数字 1 的个数 - 力扣(LeetCode) 解析: 这道题我是用排列组合做的,可以看题目注释 // 整体思想: // 1、从左到右,针对第k位数减一后,后边的n - k位子可以0~9排列组合 // 2、先用总的排列组合 - 没有1的排列组合 // 3、这总共n - k + 1 阅读全文
posted @ 2025-12-09 22:54 WTSRUVF 阅读(3) 评论(0) 推荐(0)
摘要: 题目链接:229. 多数元素 II - 力扣(LeetCode) 解析: 这题还是记录一下,哥们的两次lru肯定比题解的摩尔投票好 O(N)、O(1)的方法 找出 大于N/3 向下取整 个数 的数,这样的数最多有2个,大于2个就超过总长度了 维护一个长度为3的list,从前向后,从后向前分别来一次l 阅读全文
posted @ 2025-12-02 22:59 WTSRUVF 阅读(5) 评论(0) 推荐(0)
摘要: 题目链接:223. 矩形面积 - 力扣(LeetCode) 解析: 确实不擅长几何题,用投影求重叠矩形的边长 看官方题解吧 class Solution { public: int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, in 阅读全文
posted @ 2025-12-01 21:49 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: C++ set 容器基于红黑树实现,其核心操作的时间复杂度如下: ‌查找、插入、删除操作‌:平均和最坏情况均为 ‌O(log n)‌,其中 n 是集合中的元素数量。这种对数级性能得益于红黑树的自平衡特性。 ‌遍历操作‌:时间复杂度为 ‌O(n)‌,需要访问每个元素 ‌需要注意的点:‌ ‌容器类型限制 阅读全文
posted @ 2025-11-30 19:43 WTSRUVF 阅读(6) 评论(0) 推荐(0)
摘要: 好多年了,竟然没忘,蓝书上的,之后数据结构书又改一了版 void quick_sort(vector<int>& nums, const int& k, int x, int y) { if (x >= y) return; int p = x, q = y; int stash = nums[x] 阅读全文
posted @ 2025-11-26 23:27 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:172. 阶乘后的零 - 力扣(LeetCode) 解析: 方法一:数学n! 尾零的数量即为 n! 中因子 10 的个数,而 10=2×5,因此转换成求 n! 中质因子 2 的个数和质因子 5 的个数的较小值。 由于质因子 5 的个数不会大于质因子 2 的个数,我们可以仅考虑质因子 5 的 阅读全文
posted @ 2025-11-10 22:29 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:164. 最大间距 - 力扣(LeetCode) 解析: 排序后相邻数字最大间距 要 >= ceil((max - min) / (n - 1)) 然后分桶,保持每个桶的max和min即可 class Solution { public: int maximumGap(vector<int 阅读全文
posted @ 2025-11-08 20:33 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:154. 寻找旋转排序数组中的最小值 II - 力扣(LeetCode) 解析: 81. 搜索旋转排序数组 II - 力扣(LeetCode) 感觉代码有点乱,换种方法 当mid与0相等的时候可以考虑,直接过滤0,start++,这样start ~ n的下标区间内还是所有元素都有 但这样会 阅读全文
posted @ 2025-11-06 22:00 WTSRUVF 阅读(4) 评论(0) 推荐(0)
摘要: 题目链接:142. 环形链表 II - 力扣(LeetCode) 解析:408数据结构的题, 注意两个点 1、low指针肯定可以和fast在第一圈相遇 2、最后a = c + (n - 1) (b + c),那就是起点到入口的距离恰好等于从相遇点饶了 n - 1圈后再走到入口点 因此再额外使用一个指 阅读全文
posted @ 2025-10-28 21:39 WTSRUVF 阅读(10) 评论(0) 推荐(0)