LeetCode
文章平均质量分 90
x___xxxx
这个作者很懒,什么都没留下…
展开
-
LeetCode腾讯精选练习(Python)-2
011 盛最多水的容器014 最长公共前缀015 三数之和(001 两数之和)016 最接近的三数之和020 有效的括号021 合并两个有序链表11.盛最多水的容器(中等)双指针class Solution: def maxArea(self, height: List[int]) -> int: if len(height)<2: return 0 l = 0 r = len(h原创 2021-02-26 20:11:42 · 135 阅读 · 1 评论 -
LeetCode腾讯精选练习(Python)-1
参考资料:Datawhale资料原创 2021-02-25 22:21:17 · 270 阅读 · 0 评论 -
背包九讲-Python实现
01背包完全背包多重背包原创 2020-09-30 11:56:14 · 559 阅读 · 0 评论 -
数据结构与算法-刷通二叉树2(Python)
二叉树系列二叉树算法的关键思路把题目的要求细化,搞清楚根节点应该做什么,进行前/中/后序遍历。654.最大二叉树(难度 Medium)提示:给定的数组的大小在 [1, 1000] 之间。class Solution: def constructMaximumBinaryTree(self, nums: List[int]) -> TreeNode: if not nums: return None if原创 2020-09-22 16:53:07 · 111 阅读 · 0 评论 -
数据结构与算法-刷通二叉树1(Python)
二叉树系列一、 二叉树的重要性二、写递归算法的秘诀三、算法实践学习资料源于大佬labuladong的公众号。一、 二叉树的重要性快速排序就是二叉树的前序遍历,归并排序就是二叉树的后序遍历快速排序: 先构造分界点,然后去左右子数组构造分界点;归并排序: 先对左右子数组排序,然后合并。二、写递归算法的秘诀递归算法的关键是要明确函数的 定义 是什么,利用这个定义推导最终的结果,绝不要试图跳入递归树相关的算法,先搞清楚当前root节点该做什么,然后根据函数定义递归调用子节点,让子节点做相同的事情原创 2020-09-22 12:38:22 · 118 阅读 · 0 评论 -
数据结构与算法-岛屿问题:网格结构中的 DFS(Python)
岛屿问题:网格结构中的 DFS原创 2020-09-21 21:07:11 · 1039 阅读 · 0 评论 -
Datawhale编程实践LeetCode分类练习 - 4.双指针技术在链表中的应用(Python)
双指针技术在链表中的应用206. 反转链表19. 删除链表的倒数第N个节点83. 删除排序链表中的重复元素141. 环形链表148. 排序链表LeetCode上,Python单链表的定义# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = None206. 反转链表206. 反转链表(简单)原创 2020-09-09 21:28:01 · 195 阅读 · 0 评论 -
数据结构与算法-基础排序算法及TopK问题(Python)
冒泡排序插入排序堆排序归并排序快速排序TopK堆排序没有一个排序算法是任何情况下都表现最好的。原创 2020-09-07 21:32:07 · 967 阅读 · 0 评论 -
数据结构与算法-BFS 使用场景:层序遍历、最短路径问题(Python)
BFSDFS与BFS应用一:层次遍历应用二:最短路径相关题目层序遍历的一些变种题目网格结构中的最短路径在真正的图结构中求最短路径DFS与BFS如果只是要遍历树or图的所有结点,DFS和BFS差别不大,非递归写法,DFS借助栈stack,BFS借助队列queue。BFS的两个场景:「层序遍历」、「最短路径」应用一:层次遍历102. 二叉树的层序遍历(中等)# class TreeNode:# def __init__(self, x):# self.val = x#原创 2020-09-06 21:19:03 · 760 阅读 · 0 评论 -
Datawhale编程实践LeetCode分类练习——Task04:查找2之对撞指针/滑动窗口(Python)
两数之和三数之和最接近的三数之和四数之和字母异位词分组直线上最多的点数存在重复元素 II存在重复元素 III回旋镖的数量四数相加 II原创 2020-08-27 16:17:36 · 229 阅读 · 0 评论 -
Datawhale编程实践LeetCode分类练习——Task03:查找1之查找表/二分查找(Python)
搜索插入位置快乐数同构字符串有效的字母异位词单词规律两个数组的交集两个数组的交集 II分割数组的最大值根据字符出现频率排序有序数组中的单一元素原创 2020-08-22 12:40:11 · 315 阅读 · 0 评论 -
Datawhale编程实践LeetCode分类练习——Task02:动态规划(Python)
5. 最长回文子串72. 编辑距离198. 打家劫舍213. 打家劫舍II516. 最长回文子序列674. 最长连续递增序列原创 2020-08-21 16:55:11 · 387 阅读 · 0 评论 -
数据结构与算法-二维平面上使用回溯法
79.单词搜索200.岛屿数量130.被围绕的区域417. 太平洋大西洋水流问题原创 2020-08-18 23:21:53 · 154 阅读 · 0 评论 -
Datawhale编程实践LeetCode分类练习——Task01:分治(Python)
LeetCode分治50. Pow(x, n)53. 最大子序和169. 多数元素原创 2020-08-17 12:55:56 · 210 阅读 · 0 评论 -
LeetCode周赛-202(Python)
最大值最小或最小值最大——二分unordered_map底层是哈希表,增删时间复杂度是O(1)5490. 吃掉 N 个橘子的最少天数提示:1 <= n <= 2*10^9抽象为0-原创 2020-08-19 17:34:57 · 118 阅读 · 0 评论 -
数据结构与算法-LeetCode中的背包问题
0-1背包问题,即数组中的元素不可重复使用完全背包问题,数组中的元素可以重复使用常见背包问题分类1.组合问题2.True/False问题3.最大最小问题原创 2020-08-13 17:27:30 · 379 阅读 · 0 评论 -
数据结构与算法-回溯算法2之Combination Sum
Combination Sum原创 2020-08-11 17:31:41 · 233 阅读 · 0 评论 -
数据结构与算法-回溯算法1
回溯算法回溯算法框架经典问题排列-Permutation子集-Subsets组合-Combination去重策略有重复元素的排列问题回溯算法框架回溯法和DFS息息相关。回溯是“撤回一步”的意思解决一个回溯问题,实际上就是一个决策树的遍历过程。只需要思考3个问题:路径:已经做出的选择;选择列表:当前可以做的选择;结束条件:到达决策树底层,无法再做选择的条件。res = []def backtrack(路径,选择列表): if 满足结束条件: result.add(路径)原创 2020-08-11 12:45:00 · 421 阅读 · 1 评论