摘要: 题目链接 思路 子数组题目,首先想到以i开头,或者以i结尾是什么情况。 所有的数字是正数,因此有很明显的单调性:大子数组符合要求,那么小子数组肯定符合要求;小子数组不符合要求,大子数组肯定不符合要求。因此,可以使用滑动窗口,若[L, R]满足,那么看R++是否满足;若R不满足了,此时可以结算,以L开 阅读全文
posted @ 2025-04-28 10:38 ouyangxx 阅读(6) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:题目意思就是,每个物品,有价格和美丽值,我现在有x钱,能买到的最大的美丽值是多少。最容易想到的就是,先按照价格排序,然后再二分法,找到小于等于x,最右侧的位置。但是这里有两个问题1)钱越多,美丽值越大?例如(1, 10), (2, 5),价格为2,美丽值反而变小了;2)相同的价钱 阅读全文
posted @ 2025-03-09 17:10 ouyangxx 阅读(19) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:将区域划分成非0区域,0区域,待遍历区域,待遍历区域就是还没有遍历到的数集合。 非0区域用L表示,即[0, L - 1]是非0区域,初始值L = 0 待遍历区域,就是[i, n - 1],其中n是数组长度 0区域就是[L, i - 1] 直接看代码 代码 class Soluti 阅读全文
posted @ 2025-02-17 10:54 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:先想一下暴力怎么做。直接看代码更清晰 # rest:还剩下的数字 def process(self, rest): if rest == 0: return 0 ans = 2 ** 31 - 1 # 从1开始尝试,最多尝试到sqrt(rest) for i in range(1 阅读全文
posted @ 2025-02-17 10:44 ouyangxx 阅读(35) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:利用原有的数组,i位置上的数就是nums[i],但是这里有一个问题,就是如果这个数是n,怎么办?n不能够放到nums[n]上。用一个变量n_index来存n这个数的位置(假设有n这个数),初始化为-1 第一种情况:没有n这个数,那么[0, n-1]上都已经放好了,此时n_inde 阅读全文
posted @ 2025-02-16 10:55 ouyangxx 阅读(8) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:不用管字母的顺序,只用管相同字母的个数。用哈希表,或者题目指明了只有小写字母,所以可以用数组来代替哈希表 代码 class Solution: def isAnagram(self, s: str, t: str) -> bool: has = [0] * 26 # 26个字母 阅读全文
posted @ 2025-02-16 10:21 ouyangxx 阅读(7) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:从右上角点,或者左下角点开始找即可。因为这两个点具有【单调性】 代码 class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: n = len(matrix) m = 阅读全文
posted @ 2025-02-15 20:54 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:使用一个队列,队头的就是当前窗口内的最大值。队头到队尾是依次减小的。队中的其他元素是【最大值候选者】。假设当前窗口内值为4, 3, 1, 2,那么队列就是4, 3, 2,为什么?4可能是最大值吗?可能,现在就是最大值。3可能是最大值吗?可能,如果把4淘汰了,就可能是最大值了。1可 阅读全文
posted @ 2025-02-15 20:50 ouyangxx 阅读(11) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:就是把后面链表的值,依次往前挪,最后一个节点挪完之后,把倒数第二个节点的next指向空即可 代码 class Solution: def deleteNode(self, node): next_node = node.next while next_node.next: nod 阅读全文
posted @ 2025-02-15 20:11 ouyangxx 阅读(22) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:二叉树递归套路。从左儿子收集信息,从右儿子收集信息,然后得到本节点的信息,再返回给自己的父亲节点。 从儿子收集什么信息? 左儿子是否包含p?左儿子是否包含q?右儿子是否包含p?右儿子是否包含q 任意一个儿子包含p,那么本节点就包含p,任意一个儿子包含q,那么本节点就包含q 如果该 阅读全文
posted @ 2025-02-13 16:12 ouyangxx 阅读(10) 评论(0) 推荐(0)