
力扣
LiXueFu727224204
每天变好一点点
展开
-
letcode76 滑动窗口(中级)解题
class Solution: def minWindow(self, s: str, t: str) -> str: """ sliding windows #滑动窗口(双指针解法) #怎么判断已经是一个合法窗口--字典计数,当字典对应的T里面个数都匹配上则说明合法 count #怎么判断窗口的大小--全局变量记录窗口大小 #什么时候打破窗口 #什么时候增加窗口 .原创 2020-11-06 13:41:03 · 133 阅读 · 0 评论 -
letcode48 滑动窗口(初级)解题
剑指 Offer 48. 最长不含重复字符的子字符串 class Solution: def lengthOfLongestSubstring(self, s: str) -> int: """ sliding windows 时间复杂度 O(n) 空间复杂度 O(n) """ if not s: return 0 from collections import Counter原创 2020-11-05 21:06:15 · 173 阅读 · 0 评论 -
2、3……的幂判断
231.2的幂 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 #num可以是任何数字,都可以支持 class Solution: def isPowerOfFour(self, num: int) -> bool: """ 不断整除来判断 时间复杂度 O(logn) 空间复杂度 O(1) """ if num<=0: return False# num的幂次方不可能小于等于0,所以原创 2020-10-28 23:55:01 · 266 阅读 · 0 评论 -
letcode414 第三大的数
**题目要求:**给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。 存在两个值为2的数,它们都排第二。 class Solution: def thirdMax(self, nums: List[int]) -> int: """ 参考找第二个最大数的逻辑编写即可 """ if len(set(nums))&原创 2020-10-20 22:01:02 · 154 阅读 · 1 评论