随笔分类 - LeetCode
摘要:233 Number of Digit One这道题是递归算法class Solution: # @param {integer} n # @return {integer} def countDigitOne(self, n): if n <= 0: ...
阅读全文
摘要:018 4Sum感觉最差的情况应该是O(n*n*n)的复杂度from collections import defaultdictclass Solution: # @param {integer[]} nums # @param {integer} target # @retur...
阅读全文
摘要:029 Divide Two Integersclass Solution: # @param {integer} dividend # @param {integer} divisor # @return {integer} def divide(self, dividen...
阅读全文
摘要:166 Fraction to Recurring Decimal这道题就是不停的去check做除法的余数是否重复出现了class Solution: # @param {integer} numerator # @param {integer} denominator # @re...
阅读全文
摘要:220 Contains Duplicate III这道题用dic来记录上一次桶区间内的下标,唯一的trick是比较周边的一共三个桶class Solution: # @param {integer[]} nums # @param {integer} k # @param {in...
阅读全文
摘要:099 Recover Binary Search Tree没有按照要求用 constant space.... 用valid BST 找出两个not in order 的nodesclass Solution: def recoverTree(self, root): [fN,...
阅读全文
摘要:105 Construct Binary Tree from Preorder and Inorder Traversal这道题纯递归class Solution: # @param {integer[]} preorder # @param {integer[]} inorder ...
阅读全文
摘要:214 Shortest Palindrome这道题会用到一个算法在 这里用过利用这个算法稍作改进即可class Solution: def shortestPalindrome(self, s): T = '#'.join('${}&'.format(s)) an...
阅读全文
摘要:132 Palindrome Partitioning II这道题就是标识出s[i:j+1]是否为palindrome, 然后dp找出最小分割class Solution: # @param {string} s # @return {integer} def minCut(sel...
阅读全文
摘要:131 Palindrome Partitioning这道题先是标识出所有的 s[i:j+1] 是否为 palindrome, 然后在暴力搜索就好class Solution: def __init__(self): self.dp = [] self.ans = ...
阅读全文
摘要:005 Longest Palindromic Substring这道题比较常见的是 O(n*n)的解法 网上有一个十分巧妙的算法Manacher’s Algorithm根据这个算法的代码如下class Solution: # @return a string def longestPa...
阅读全文
摘要:087 Scramble String这道题是divide and conquer。 使用sorted可以快速判断 要不然会超时class Solution: # @param {string} s1 # @param {string} s2 # @return {boolean}...
阅读全文
摘要:037 Sudoku Solver这道题我纯暴力搜了 肯定可以优化, 懒得去看了。。。class Solution: def __init__(self): self.b = [] def solveSudoku(self, board): self....
阅读全文
摘要:097 Interleaving String这道题也是纯dp了class Solution: # @param {string} s1 # @param {string} s2 # @param {string} s3 # @return {boolean} def ...
阅读全文
摘要:91 Decode Waysdp解法 O(1) spaceclass Solution: # @param {string} s # @return {integer} def numDecodings(self, s): if s == "" or s[0] == ...
阅读全文
摘要:022 Generate Parentheses纯递归解法class Solution: def __init__(self): self.ans = [] def generateParenthesis(self, n): self.help(n, ...
阅读全文
摘要:240 Search a 2D Matrix II这是个young‘s矩阵,最好的就是O(m+n)的算法了class Solution: # @param {integer[][]} matrix # @param {integer} target # @return {boole...
阅读全文
摘要:103 Binary Tree Zigzag Level Order Traversallevel traversal的变种class Solution: # @param {TreeNode} root # @return {integer[][]} def zigzagLeve...
阅读全文
摘要:108 Convert Sorted Array to Binary Search Tree递归解法还是非常直观的class Solution: # @param {integer[]} nums # @return {TreeNode} def sortedArrayToBST(...
阅读全文
摘要:117 Populating Next Right Pointers in Each Node II就是 Bibary Tree Level order Traverseclass Solution: # @param root, a tree link node # @return n...
阅读全文


浙公网安备 33010602011771号