
力扣
力扣刷题记录
万伏小太阳
这个作者很懒,什么都没留下…
展开
-
Leetcode 第102场双周赛
先把每一层的兄弟节点val之和处理出来。每一次遍历把兄弟节点的val穿过去。算是leetcode的特色题目。那么对于每一个节点,原创 2023-04-16 00:19:03 · 190 阅读 · 0 评论 -
第 338 场周赛
前k个最大的数。原创 2023-03-26 11:56:09 · 135 阅读 · 0 评论 -
第 100 场双周赛
这场偏简单,前面有点思维。赛时源代码,没任何优化。原创 2023-03-19 00:18:58 · 152 阅读 · 0 评论 -
第 336 场周赛
判断一下就行了。原创 2023-03-13 00:34:53 · 449 阅读 · 0 评论 -
LeetCode 94场双周赛
**题意,总而言之就是找出最近的两个1和-1之间的位置距离最大。原创 2022-12-25 00:30:46 · 773 阅读 · 1 评论 -
第 321 场力扣周赛
求和。原创 2022-11-27 15:43:24 · 719 阅读 · 0 评论 -
LeetCode 第320场周赛
三个循环暴力。原创 2022-11-20 17:37:51 · 552 阅读 · 0 评论 -
LeeCode 第 314 场周赛
遍历一遍,更新最大的答案就可。注意相等的时候,要取编号更小的。这个好像是原题,反正以前做过。这一题只需要知道异或的一个性质,原创 2022-10-09 12:46:56 · 213 阅读 · 0 评论 -
LeeCode第 312 场周赛
如果对nums数组进行一个相邻之间的做差之后,如果某一个下标的前k个数做差,存在小于0的,说明这个段序列不是非递增的。这个时候就可以用数据结构来维护最小值看看是不是小于0的。换种想法如果两个相邻之间的差大于等于0,都让他为1,然后做一个前缀和,如果前k的前缀和大于等于k,说明前k个数是非递增的,非递减反过来处理类似。列出几个数字,相与结果就可以发现与的一个性质,两个数按位与之后的值一定小于等于这两个数,所以这题就是求最大值最多连续出现了几次。原创 2022-09-25 12:50:06 · 620 阅读 · 1 评论 -
LeetCode 第 311 场周赛
思路:先对二叉树进行一个层次遍历,拿到层次遍历的结果。然后在进行一次层次遍历,遇到深度为偶数则反转这一层节点的值,不是交换节点。如果重新构造一棵二叉树会超时。这里有个力扣比较傻逼的地方就是,他每次计算完之后,都应该将数组置空,否则就会答案错误。字典树:也可以成为前缀树,或者Trie树。Trie有两种常见的用途,直接Acwing里面的模板题拿过来抄一抄。可以把之前写过的代码直接拿过来用。层次遍历采用BFS,DFS都行。原创 2022-09-18 17:14:39 · 865 阅读 · 6 评论 -
3. 无重复字符的最长子串
3. 无重复字符的最长子串class Solution {public: int lengthOfLongestSubstring(string s) { // 哈希集合,记录每个字符是否出现过 unordered_set<char> occ; int n = s.size(); // 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动 int rk = -1, ans = 0;原创 2021-11-02 15:25:05 · 73 阅读 · 0 评论 -
2021.10.22 力扣每日一题 求众数 II
思路比较简单。STL,用map计数就行class Solution {public: vector<int> majorityElement(vector<int>& nums) { map<int,int> q; for(auto t:nums){ q[t]++; } vector<int> ans; int n=nums.size()原创 2021-10-22 13:19:42 · 164 阅读 · 0 评论 -
2021/10/18 数字的补数
模拟,简单题,取反加回去。class Solution {public: int findComplement(int num) { vector<int> a; while(num){ a.push_back(num&1); num>>=1; } int sum=0; for(int i=a.size()-1;i>=0;i--){原创 2021-10-18 19:16:13 · 131 阅读 · 0 评论 -
8.19反转字符串中的元音字母 暴力+字符串
345. 反转字符串中的元音字母给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现。1<s.length()<3∗1051<s.length()<3*10^51<s.length()<3∗105思路找出所有元音字母,反着输出在原位置就可以了,大水题。class Solution {public: string reverseVowels(string原创 2021-08-19 13:56:45 · 132 阅读 · 0 评论 -
8.18学生出勤记录 II
学生出勤记录II可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:‘A’:Absent,缺勤‘L’:Late,迟到‘P’:Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:按 总出勤 计,学生缺勤(‘A’)严格 少于两天。学生 不会 存在 连续 3 天或 连续 3 天以上的迟到(‘L’)记录。给你一个整数 n ,表示出勤记录的长度(次数)。请你返回记录长度为 n 时,可能获得出勤奖励的记录原创 2021-08-18 13:22:13 · 204 阅读 · 0 评论 -
8.17学生出勤记录
551. 学生出勤记录 I给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:‘A’:Absent,缺勤‘L’:Late,迟到‘P’:Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:按 总出勤 计,学生缺勤(‘A’)严格 少于两天。学生 不会 存在 连续 3 天或 3 天以上的迟到(‘L’)记录。如果学生可以获得出勤奖励,返回 true ;否则,返回 false 。O(n)遍历模原创 2021-08-17 13:18:28 · 134 阅读 · 0 评论 -
8.16每日一题 526.优美的排列
526. 优美的排列假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件:第 i 位的数字能被 i 整除i 能被第 i 位上的数字整除现在给定一个整数 N,请问可以构造多少个优美的排列?说明:N<=15N<=15N<=15;思路:这个题目有点像dfs搜全排列,但是对于每一位的数有限制条件。如果我们搜出全部的全排列在判断必然会原创 2021-08-17 13:12:52 · 151 阅读 · 0 评论