摘要:
前序遍历: class Solution: def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]: self.res=[] def dfs(root): if not root: return None self.res 阅读全文
2022年4月20日
摘要:
稳定排序:归并排序、冒泡排序、插入排序、基数排序、桶排序不稳定排序:选择排序、快速排序、堆排序、希尔排序 划分排序算法稳定与否的依据:排序前后两个相等的数相对位置不变,则算法稳定,否则不稳定。 1.冒泡排序 时间复杂度:O(n) def bubble_sort(testlist): for i in 阅读全文
摘要:
思路:快速幂 demo:a的11次方,11可表示为1011,则可表示为a(2**0+2**1+2**3) class Solution: def myPow(self, x: float, n: int) -> float: if n < 0:x,n = 1/x,-n res = 1 while n 阅读全文
摘要:
Python: class MedianFinder: def __init__(self): """ initialize your data structure here. """ self.stack=[] def addNum(self, num: int) -> None: self.st 阅读全文
摘要:
思路:模拟,排除边界情况 Python: class Solution: def strToInt(self, str: str) -> int: if not str or (len(str)==1 and (str[0]<'0' or str[0]>'9')): return 0 str=str 阅读全文
摘要:
思路:滑动窗口,通过check函数来判断是否数组元素唯一,若不唯一,更新start位置,若唯一,更新max_len Python: class Solution: def lengthOfLongestSubstring(self, s: str) -> int: max_len=float('-i 阅读全文
摘要:
思路:简单dp,首先走第一行/第一列时只能是直行,所以初始化第一行和第一列的值,dp中存放到此点,可收获礼物的最大值。 Python: class Solution: def maxValue(self, grid: List[List[int]]) -> int: row=len(grid) co 阅读全文
摘要:
思路:建立哈希表 Python: class Solution: def singleNumber(self, nums: List[int]) -> int: adict={} for i in range(len(nums)): if nums[i] not in adict: adict[nu 阅读全文