![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
winner8881
这个作者很懒,什么都没留下…
展开
-
leetcode-哈希表
查询时间复杂度:O(1)原创 2019-09-04 01:41:56 · 224 阅读 · 1 评论 -
leetcode-数组
118. 杨辉三角class Solution: def generate(self, numRows: int) -> List[List[int]]: result = [] for i in range(numRows): now = [1]*(i+1) if i > 1: ...原创 2019-09-01 11:31:45 · 172 阅读 · 0 评论 -
leetcode-堆、栈、队列
堆栈队列原创 2019-09-04 01:40:54 · 164 阅读 · 0 评论 -
leetcode-排序
快排、堆排、归排原创 2019-09-04 01:39:53 · 91 阅读 · 0 评论 -
leetcode-回溯
排列组合典型原创 2019-09-04 01:38:51 · 113 阅读 · 0 评论 -
leetcode-二叉树结构题
常规做法是原创 2019-09-03 23:58:16 · 140 阅读 · 0 评论 -
leetcode-二叉树路径题
常规做法是dfs搜索左右子树257. 二叉树的所有路径class Solution: def binaryTreePaths(self, root: TreeNode) -> List[str]: res = [] def dfs(root, path): if not root: ret...原创 2019-09-03 23:57:30 · 134 阅读 · 0 评论 -
leetcode-二叉树简单题
144. 二叉树的前序遍历递归实现class Solution: def preorderTraversal(self, root: TreeNode) -> List[int]: if not root: return [] return [root.val] + self.preorderTraversal(...原创 2019-09-03 21:31:47 · 1394 阅读 · 0 评论 -
leetcode-链表
开始建立一个None的节点ret,最后返回ret.nextnode = ListNode(None) p = node while p: .....return node.next 快慢指针判断是否相交链表反转160. 相交链表class Solution(object): def getIntersectionNode(self, headA, he...原创 2019-09-03 18:53:17 · 104 阅读 · 0 评论 -
leetcode-DFS、BFS
200. 岛屿数量class Solution: def numIslands(self, grid: List[List[str]]) -> int: nextStep = [[0, 1], [0, -1], [-1, 0], [1, 0]] step = 0 def dfs(grid, x, y):...原创 2019-09-02 23:54:56 · 157 阅读 · 0 评论 -
leetcode-动态规划
53. 最大子序和class Solution: def maxSubArray(self, nums: List[int]) -> int: n = len(nums) dp = nums if n == 1: return dp[0] for i in range(1, n): ...原创 2019-09-02 09:33:04 · 86 阅读 · 0 评论 -
leetcode刷题笔录
1、生成26个大小写字母arr = [chr(i) for i in range(ord('a'),ord('z'))]arr = [chr(i) for i in range(ord('A'),ord('Z'))]arr = [chr(i) for i in range(65,91)]arr = [chr(i) for i in range(97,123)]ord chr...原创 2019-08-14 09:56:07 · 121 阅读 · 0 评论 -
leetcode-字符串(一)
67. 二进制求和bin(num):转成2进制int(num,2):用2进制读取class Solution: def addBinary(self, a: str, b: str) -> str: return bin(int(a,2) + int(b,2))[2:]原创 2019-08-14 20:25:28 · 166 阅读 · 0 评论 -
python-常用写法(Updating)
1、mapmap()是 Python 内置的高阶函数,它接收一个==函数 f ==和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。原创 2019-08-14 09:51:01 · 155 阅读 · 0 评论 -
归并排序(python版)
1、 描述将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并2、思想分治3、代码import randomnums = []for i in range(10):nums.append(random.randint(0, 10))def merge_sort(nums): if len(nums...原创 2019-03-13 17:13:08 · 158 阅读 · 0 评论 -
leetcode-常见写法
1、while(1)循环541:反转字符串class Solution: def reverseStr(self, s: str, k: int) -> str: val = list(s) res = 0 while res < len(s): val[res:res + k] = val[res:...原创 2019-08-30 22:54:59 · 295 阅读 · 0 评论 -
leetcode-字符串(二)
345. 反转字符串中的元音字母class Solution: def reverseVowels(self, s: str) -> str: rev = ['a','e','i','o','u','A','E','I','O','U'] res = [i for i in s if i in rev] ...原创 2019-08-30 19:58:45 · 143 阅读 · 0 评论 -
leetcode-常见方法
1、str.isalpha():检测字符串是否只由字母组成2、Counter from collections import Counter r = Counter(ransomNote) m = Counter(magazine) for k in r.keys(): if k not in m or m[k] - r[k]...原创 2019-08-30 16:00:17 · 151 阅读 · 0 评论 -
leetcode-动态规划(一)
动态规划类型总结1、计数(1)有多少方式走到右下角(2)有多少种方法选出k个数和为sum2、求最大最小值(1)从左上角走到右下角路径的最大数字和(2)最长上升子序列长度3、求存在性(1)取石子游戏,先手是否必胜(2)能不能选出k个数和为sum...原创 2019-08-16 11:09:53 · 163 阅读 · 0 评论 -
leetcode-动态规划(二)
动态规划解题步骤总结:1、确定状态(1)研究最优策略的最后一步(2)化为子问题2、转移方程(1)根据子问题定义直接得到3、初始条件和边界情况4、计算顺序(1)由小到大逐个计算5、例子(1)打家劫舍1, 2, 3(2)Jump Game(3)Coin Change(4)Uniuqe Paths...原创 2019-08-16 11:06:19 · 113 阅读 · 0 评论 -
快速排序(python版)
快速排序1、描述通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分 记录继续进行排序,以达到整个序列有序。2、思想:分治3、代码import randomdef quick_sort(nums, start, end): if start &amp;amp;gt;= end: return low = star...原创 2019-03-13 16:27:04 · 520 阅读 · 0 评论