- 博客(27)
- 收藏
- 关注
原创 贪心算法需要二刷的题目
题目链接: https://leetcode.cn/problems/wiggle-subsequence/思路:其实就是看差值序列 正负和负正的组合有多少个,pre可以取0,这样才可以启动。
2023-06-09 16:22:51
83
原创 单调栈练习
优化思路:针对每一列求出,中间有重复计算,因此遍历2轮,分别计算左边最高和右边最高,降低复杂度。针对每一列求出左右最高的列,然后利用其中相对小的那一个进行计算。
2023-06-03 21:15:22
80
原创 每日一题1072. 按列翻转得到最大值等行数
这题最重要的是想到如果经过变换 2行可以相等,那么只有2种情况:原本就相等或者2行的亦或为1即每一位都不同。
2023-05-15 16:04:34
93
原创 每日一题1125. 最小的必要团队
今天的每日一题没有在看题解之前自己做出来,没想到利用状态压缩的办法来做,利用二进制表示当前的状态,这题后续需要二刷。
2023-04-08 13:35:38
106
原创 剑指 Offer 46. 把数字翻译成字符串
看了下题解大部分是dp算的,而我第一时间想到的是递归,对于每一位数来说,当前阶段有2种选择,1是自己进入,2是和自己的下一位一起进入,较为简单。
2023-04-07 17:49:31
36
原创 每日一题1040. 移动石子直到连续 II
最大移动次数,只需要额外判断第一次是移动左边还是右边即可,后续每一层移动消去一个空格,因此只需要保证第一次移动消除空格最小的端点即可。最小移动次数:利用长度为n的滑动窗口,分别判断窗口里的石子数量,分别为n-1和小于n-1 2种情况,分别根据2种情况计算最小移动次数。思路挺简单的,只需要对b1-a1和 c1-b1的值进行额外判断即可。在做这道题之前,我先做了1033. 移动石子直到连续。移动石子直到连续 II。
2023-04-07 17:20:18
32
原创 剑指 Offer 57. 和为s的两个数字
利用双指针,先固定i,然后j慢慢变大,直到j到达边界或者i,j位置上的值相加大于target,此时i,j开始向对方靠近,小了则i变大,大了则j变小。题解的想法:其实一开始就不需要寻找j的位置,直接让j从尾部开始解决即可。
2023-04-06 22:23:55
26
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人