随笔分类 - leetcode
摘要:题目描述: 提交: class Solution: def maxLengthBetweenEqualCharacters(self, s: str) -> int: dic = {} res = -1 for i,v in enumerate(s): if v not in dic: dic[v]
阅读全文
摘要:方法一: INF = 1 << 60 class Solution: def minSubarray(self, A: List[int], p: int) -> int: idx = {} n = len(A) S = [0] * (n + 1) for i in range(n): S[i +
阅读全文
摘要:题目描述: 方法:记录request的开头结尾 from typing import List class Solution: def maxSumRangeQuery(self, nums: List[int], requests: List[List[int]]) -> int: n = len
阅读全文
摘要:题目描述: dfs: class Solution: def floodFill(self, image: List[List[int]], sr: int, sc: int, newColor: int) -> List[List[int]]: initColor = image[sr][sc]
阅读全文
摘要:题目描述: 提交: class Solution: def countBinarySubstrings(self, s: str) -> int: if not s: return 0 res = 0 count = [0,0] for i in range(len(s)): num = int(s
阅读全文
摘要:题目描述: 方法一:双指针 O(N) O(1) class Solution: def getWinner(self, arr: List[int], k: int) -> int: strike = 0 cur, i = 0, 1 while i < len(arr): if arr[i] < a
阅读全文
摘要:题目描述: 方法一:排序滑窗 class Solution: def smallestRange(self, nums: List[List[int]]) -> List[int]: lst = [] for i in range(len(nums)): for j in range(len(num
阅读全文
摘要:题目描述: 方法一:数学 O(1) O(1) class Solution: def integerBreak(self, n: int) -> int: if n <= 3: return n - 1 a, b = n // 3, n % 3 if b == 0: return int(math.
阅读全文
摘要:方法:后序遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left
阅读全文
摘要:题目描述: 方法一:双指针 O(N+M) O(1) class Solution: def isSubsequence(self, s: str, t: str) -> bool: if s == "" and t == "": return True if t == "": return Fals
阅读全文
摘要:题目描述: 方法一:动态规划 O(mnlogmn) class Solution(object): def longestIncreasingPath(self, matrix): if not matrix or not matrix[0]: return 0 m, n = len(matrix)
阅读全文
摘要:题目描述: 方法:二分法 O(N*log(summ - maxn)) class Solution: def splitArray(self, nums: List[int], m: int) -> int: n = len(nums) s = 0 for num in nums: s += num
阅读全文
摘要:题目描述: 官方解答: 方法一:记忆化递归 O(N3) O(N2) class Solution: def maxCoins(self, nums: List[int]) -> int: n = len(nums) val = [1] + nums + [1] @lru_cache(None) de
阅读全文
摘要:恢复内容开始 题目描述: 方法一:边统计边压缩: class Solution { public int numSubmat(int[][] mat) { int row = mat.length, col = mat[0].length, ans = 0; for (int i = 0; i <
阅读全文
摘要:题目描述: 第一次提交:通过76/78 留坑 class Solution: def isBipartite(self, graph: List[List[int]]) -> bool: dic = {} l = [] for i in range(len(graph)): if graph[i]
阅读全文
摘要:题目描述: 方法:动态规划 class Solution: def winnerSquareGame(self, n: int) -> bool: dp = [False, True, False] for x in range(3, n+1): dp.append(False) for y in
阅读全文
摘要:题目描述: 提交: class Solution: def minDifference(self, nums: List[int]) -> int: if len(nums) <= 4: return 0 minm = min(nums) maxm = max(nums) l1 = heapq.nl
阅读全文
摘要:题目描述: 提交:O(m+n) class Solution: def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]: nums2dic = collections.Counter(nums2) res = [] f
阅读全文
摘要:题目描述: 方法一:动态规划 O(mn) O(mn) class Solution: def calculateMinimumHP(self, dungeon: List[List[int]]) -> int: rows = len(dungeon) cols = len(dungeon[0]) d
阅读全文
摘要:题目描述: 提交:堆 class Solution: def minDifference(self, nums: List[int]) -> int: if len(nums) <= 4: return 0 minm = min(nums) maxm = max(nums) l1 = heapq.n
阅读全文
浙公网安备 33010602011771号