- 博客(1693)
- 收藏
- 关注
原创 生活规范以及指导家规
https://github.com/ZouJiu1/family-ruleshttps://zoujiu.com.cn/homepage#/csdn/markdown_detail/homepage?plan=/home/admin/vue-project/people/homepage/csdn_spider_selenium/article/2025-05-19_空格_19_00_06_生活规范以及指导—future家规/2025-05-21_21_01_45_markdown.md
2025-05-21 21:23:15
345
原创 leetcode 1030. Matrix Cells in Distance Order 距离顺序排列矩阵单元格
Problem:遍历每个坐标,然后按照距离排序,最后拿到结果就行了。
2026-02-16 08:24:31
6
原创 leetcode 困难题 1028. Recover a Tree From Preorder Traversal 从先序遍历还原二叉树
Problem:首先将数字和横杆分开,数字单独一个数组num,连续横杆长度单独一个数组dash,然后根据同一个node的左右子树的深度相同也就是横杆数值相同,可以将左右子树分割开,从而build二叉树。
2026-02-16 08:24:27
20
原创 leetcode 1027. Longest Arithmetic Subsequence 最长等差数列
Problem:哈希表存储每个数字的索引,双重循环,计算差值,以及下一个值,若差值==0则求最大值,否则在哈希表中二分查找>tj的索引,若找到了则继续计算下一个值并重复二分查找。
2026-02-16 08:24:22
7
原创 leetcode 1026. Maximum Difference Between Node and Ancestor 节点与其祖先之间的最大差值-耗时100
Problem:耗时100%,节点与其祖先一定在某条从根节点到叶子结点的路径上,所以只需要记录路径上的最大值和最小值,然后在叶子结点计算每条路径差值的最大值。
2026-02-16 08:24:17
27
原创 leetcode 1025. Divisor Game 除数博弈-耗时100
Problem:耗时100%,偶数则true奇数则false若初始n是偶数,Alice只要-1,则下一个Bob拿到的一定是奇数,奇数的因子一定都是奇数因子,Alice拿到的一定是偶数,所以ALice最后一定可以拿到2所以一定win同样的若n是奇数,Bob拿到的一定是偶数,所以Bob最后一定可以拿到2所以一定win。
2026-02-16 08:24:12
16
原创 leetcode 1024. Video Stitching 视频拼接-耗时100
Problem:耗时100%,贪心,若left > 0返回-1,初始化ans=1, left = clips[0][0], right = clips[0][1];若right >= time则break,向后查找clips[i][0] <= right且clips[i][1]最大的索引l=i,若没找到break,否则right = clips[l][1], ans++;若right < time返回-1。
2026-02-16 08:24:08
25
原创 leetcode 1023. Camelcase Matching 驼峰式匹配-耗时100
Problem:耗时100%,双指针,若两者字符相同,左右指针都+1,否则左指针+1,而且若字符不相同且左侧是大写则false退出while以后,若左指针右侧存在大写字符则false,若右指针没有指向pattern.end()则false。
2026-02-16 08:24:03
21
原创 leetcode 1022. Sum of Root To Leaf Binary Numbers 从根到叶的二进制数之和-耗时100
Problem:耗时100%,递归就可以了,num初始0,(num << 1) + root->val累加。
2026-02-16 08:23:58
31
原创 leetcode 1021. Remove Outermost Parentheses 删除最外层的括号-耗时100
Problem:耗时100%,只需要删除一次扣号就行,不过感觉题目表达存在问题,若栈空且(则不加入结果字符串,若栈不空且(才加入,或者栈不空且)也加入。
2026-02-16 08:23:54
20
原创 leetcode 1020. Number of Enclaves 飞地的数量
Problem:深度优先搜索,以及状态数组的,若status[i][j]==false && grid[i][j]==1则开始搜索,标记这块地数量cnt,是否连通到四个边edge,若不连通则累加总数。
2026-02-16 08:23:51
5
原创 leetcode 1019. Next Greater Node In Linked List 链表中的下一个更大节点
Problem:先计算长度n,然后初始化结果列表ret,最后用单调下降栈,栈中保存数字和索引,若tk.top().first < a则拿到了结果ret[tk.top().second] = a;,不停的push。
2026-02-15 14:02:27
6
原创 leetcode 1018. Binary Prefix Divisible By 5 可被 5 整除的二进制前缀-耗时100
Problem:耗时100%,用到了数论知识,不停左移的加上nums[i],判断是否可被5整除,考虑到nums的最大长度是1e5太长了,而且ans = ans * 2 + nums[i], ans = (ans * 2 + nums[i])%5,ans = (ans % 5 * 2 + nums[i]),所以当前数字的模5可以通过上一个模计算得到,不需要保存完整的二进制数,只需要保存上个模就行了。
2026-02-15 14:02:22
23
原创 leetcode 1017. Convert to Base -2 负二进制转换-耗时100
Problem:耗时100%,用到了数论知识,负进制数(-R),商可以是负数,而且要保证余数>=0 || <R,所以-2进制数,需要保证余数0余数是0,此时通过判断就可以得到余数,将余数拼在一起最后翻转,结束标记是n==0。
2026-02-15 14:02:17
24
原创 leetcode 1016. 子串能表示从 1 到 N 数字的二进制串-耗时100
Problem:耗时100,看到n的最大值到达了1e9,担心会超时,这道题知道怎么做有思路也不敢写代码的,担心超时,一直以为有更优秀的方法,但是看到官方题解,也是用的相同的思路,就开始写了的两种方案的,第一种是遍历1~n,将二进制串变成字符串,在s中查找是否存在该字串第二种方案,双指针,拿出所有字串并且变成数字放入集合,若数字>n则左指针右移,最后判断集合大小是否等于n的。
2026-02-15 14:02:12
17
原创 leetcode 1014. Best Sightseeing Pair 最佳观光组合
Problem:双重循环的,当且仅当vi+vj + i - j > vi + vPre + i - jPre是才更新最大值和vpre=values[j], jPre = j,化简得到vj - vPre > j - jPre可以剪枝去重的地方是当 i < jpre,此时只需要直接计算最小值不需要进入到第二重循环,mx = max(a + vpre + i - jpre, mx);continue;
2026-02-15 14:02:08
4
原创 leetcode 1013. Partition Array Into Three Parts With Equal Sum 将数组分成和相等的三个部分-耗时100
Problem:耗时100%,总和是否能被3整除,然后从前累加,若n3 && j < n-1返回true,最后返回false。
2026-02-15 14:02:04
28
原创 leetcode 1010. Pairs of Songs With Total Durations Divisible by 60 总持续时间可被 60 整除的歌曲-耗时100
Problem:耗时100%,因为数组的最大值也就500,所以可以用数组哈希表统计每个数字的频次,然后拿到所有数字去重以后的集合,双重遍历的,若满足条件(ai + ti) % 60 == 0,则拿到两个数字的频次,若两个数字相同,需要去重的ans = ans + (tmp-1) * tmp / 2;若两个数字不相同,则频次相乘就行,存在重复的数字所以j从i开始。
2026-02-15 14:01:59
21
原创 leetcode 1008. Construct Binary Search Tree from Preorder Traversal 前序遍历构造二叉搜索树-耗时100
Problem:耗时100%,根据bst的特点,数组第一个数字一定是根节点,右侧第一个>preorder[0]的数字一定是右子树的根节点,preorder[1]一定是左子树的根节点,所以可以将数组划分成两个子数组,递归来build这棵树。
2026-02-15 14:01:55
32
原创 leetcode 1007. Minimum Domino Rotations For Equal Row 行相等的最少多米诺旋转-耗时100
Problem:耗时100%,top共6种可能全是1、2、…、6,bottom共6种可能全是1、2、3…所以给定两个数组,分别计数top全是或者bottom全是的翻转次数,而且像n=6,若翻转次数=4,则反过来可以反方向只翻转6-4=2次若 tops[i]!=j 则说明这种情况不可能翻转成全是j,所以标记成-1直接跳过的,若tops[i] == j && bottoms[i]!=j则可以翻转到下面chbottom[j]++;,若bottoms[i]==j && tops[i]!
2026-02-15 14:01:51
31
原创 leetcode 1006. Clumsy Factorial 笨阶乘-耗时100
Problem:耗时100%,通过观察可以发现,等式的计算可以分成两部分,像 clumsy(16) = 16 * 15 / 14 + 13 - 12 * 11 / 10 + 9 - 8 * 7 / 6 + 5 - 4 * 3 / 2 + 1第一部分:16 * 15 / 14、- 12 * 11 / 10、- 8 * 7 / 6、- 4 * 3 / 2,也就是乘除部分第二部分:13 + 9 + 5 + 1。
2026-02-15 14:01:47
33
原创 leetcode 1005. Maximize Sum Of Array After K Negations K 次取反后最大化的数组和-耗时100
Problem:耗时100%,排序,将负数取反,若nums[i]0返回,否则若nums[i] > 0则break若k>0且k是奇数,排序,将最小值取反,返回。
2026-02-14 11:49:34
7
原创 leetcode 1004. Max Consecutive Ones III 最大连续1的个数 III
Problem:滑动窗口的,左右指针分别移动,左指针每次+1,右指针只要满足k>0就不停向右移动,若k==0且nums[r]==1也不停向右移动,计算最大值。
2026-02-14 11:49:30
9
原创 leetcode 1003. Check If Word Is Valid After Substitutions 检查替换后的词是否有效
Problem:两种方案的,第一种是正难则反,不想怎么拼出来的,像怎么消去abc,每次找到abc然后移除产生字符串,不停循环,最后查看字符串是否空第二种就是栈,找到栈顶’b’,栈顶前一个’a’,当前’c’就pop两次。
2026-02-14 11:49:26
21
原创 leetcode 1002. Find Common Characters 查找共用字符
Problem:统计每个字符串每个字符的频次,然后将所有统计结果取最小值,最后给出答案就行。
2026-02-14 11:49:21
4
原创 leetcode 困难题 1001. Grid Illumination 网格照明
Problem:横坐标、纵坐标、对角线、副对角线,共四个哈希表,分别存储被照亮的频次,像亮灯(0, 1),则row[0]=1, col[1]=1, diagonal[-1]=1, revdiagonal[1] = 1,代表这行被照亮了多少次,这列被照亮了多少次,这个对角线被照亮了多少次,这个副对角线被照亮了多少次而且lamps存在重复的坐标,所以还需要加入一个哈希表标记该处坐标有打开的灯,防止重复计数,key = to_string(x) + “-” + to_string(y);
2026-02-14 11:49:17
124
原创 leetcode 999. Available Captures for Rook 可以被一步捕获的棋子数-耗时100
Problem:耗时100%,找到R,然后上下左右查找,累加。
2026-02-14 11:49:12
28
原创 leetcode 998. Maximum Binary Tree II 最大二叉树 II-耗时100
Problem:耗时100%,val放在数组后面,两种情况的1、若val是最大值,则root一定在val左子树上2、若val不是最大值,那么val一定在比它大的数字的右侧,所以val一定出现在右子树上,查找右子树,找到比val更大数字的最小值mi,然后mi的右子树变成了val,mi之前的右子树接在了val左子树上前题。
2026-02-14 11:49:08
22
原创 leetcode 997. Find the Town Judge 找到小镇的法官-耗时100
Problem:耗时100%,统计,被信任+1,信任他人-1,最后看是否存在统计值==n-1的就行。
2026-02-14 11:49:03
44
原创 leetcode 困难题 996. Number of Squareful Arrays 平方数组的数目-耗时100
Problem:耗时100%,回溯的,考虑到最长12,而且可以剪枝很多,所以用了深度优先搜索,首先排序的方便去重,初始化状态数组status,但状态status[i]==false且满足平方要求时才进入下一次递归,去重使用了集合,同一层递归用集合收纳已经用过的数字te.insert(nu[i]);,同一层不重复使用相同的数字,保证了不会重复,最后累加就行了。
2026-02-14 11:48:59
128
原创 leetcode 3191. 使二进制数组全部等于 1 的最少操作次数-耗时100
Problem:耗时100%,从左到右,见到0就翻转,直到最后没有0了,若i+k>n则返回-1此时不满足翻转条件同一个索引翻转两次相当是没有翻转过,若前一次偶数次翻转的右边界是start=i+k,那么下一次奇数次翻转的左边界就是start,而且偶数次只需要将下一个0翻转出来就行,不妨令偶数次翻转的时候==0的索引是j那么nums[j]==0其他>j且<i+k的可以不用翻转了,因为下一次奇数次翻转相当于没有翻转过所以经过优化以后,耗时就大大下降了。
2026-02-14 11:48:56
48
原创 leetcode 困难题 995. Minimum Number of K Consecutive Bit Flips K 连续位的最小翻转次数-耗时100
Problem:耗时100%,从左到右,见到0就翻转,直到最后没有0了,若i+k>n则返回-1此时不满足翻转条件同一个索引翻转两次相当是没有翻转过,若前一次偶数次翻转的右边界是start=i+k,那么下一次奇数次翻转的左边界就是start,而且偶数次只需要将下一个0翻转出来就行,不妨令偶数次翻转的时候==0的索引是j那么nums[j]==0其他>j且<i+k的可以不用翻转了,因为下一次奇数次翻转相当于没有翻转过所以经过优化以后,耗时就大大下降了简化版。
2026-02-13 11:08:43
124
原创 leetcode 993. Cousins in Binary Tree 二叉树的堂兄弟节点-耗时100
Problem:耗时100%,拿到这两个nodes对应的深度和父节点。
2026-02-13 11:08:38
29
原创 leetcode 990. Satisfiability of Equality Equations 等式方程的可满足性-耗时100
的字母join起来,最后检查!=的字母是否存在矛盾也就是根节点是否不相同,若相同则矛盾。
2026-02-13 11:08:34
29
原创 leetcode 989. Add to Array-Form of Integer 数组形式的整数加法-耗时100
Problem:耗时100%,逆序加和的,需要考虑进位的,每次k/10,个位数就是k%10,进位是tmp/10,结果是tmp%10,特殊情况就是最后 k > 0,以及 add > 0。
2026-02-13 11:08:29
8
原创 leetcode 988. Smallest String Starting From Leaf 从叶结点开始的最小字符串
Problem:首先拿到所有叶子nodes的列表,以及每个nodes的父节点哈希表,,然后从叶子往上遍历,拿到字符串,拿到最小值即可或者用递归的方式拿到所有可能。
2026-02-13 11:08:25
7
原创 leetcode 困难题 987. Vertical Order Traversal of a Binary Tree 二叉树的垂序遍历
Problem: [987. Vertical Order Traversal of a Binary Tree 二叉树的垂序遍历](https://leetcode.cn/problems/vertical-order-traversal-of-a-binary-tree/desc双层哈希表,值是列表的,将所有数值放入哈希表,相同行列排序,同一列拿到所有数值。
2026-02-13 11:08:20
6
原创 leetcode 986. Interval List Intersections 区间列表的交集
Problem:双重循环的,然后判断交集是否空,若是不空加入列表,以及第一个循环的后续应该从start开始,第二个循环若已经发现了交集,但后续没有交集了应该break。
2026-02-13 11:08:16
5
原创 leetcode 985. Sum of Even Numbers After Queries 查询后的偶数和-耗时100
Problem:耗时100%,首先累加偶数值,然后加入queries的值,若tmp=nums[ind]是偶数,加上val以后还是偶数,那么只需要加上val,若变成了奇数则需要减去tmp。若tmp=nums[ind]是奇数,加上val后变成偶数,那么需要加上tmp + val。
2026-02-13 11:08:12
48
原创 leetcode 984. String Without AAA or BBB 不含 AAA 或 BBB 的字符串-耗时100
Problem:耗时100%,贪心,哪个数字大加入哪个,同时保证不出现连续三个相同的字符就可以了,需要统计连续的个数,若是当前和最后面那个不同还需要重置统计值一开始看错题目了,以为是要求可能的字符串的数量,没想到只需要枚举一个就行了。
2026-02-13 11:08:08
36
考研数学的考点,自己写的考研数学的各科考点,可以加入自己的笔记
2024-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅