![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题复健之路
hanghangnie
这个作者很懒,什么都没留下…
展开
-
算法题复健之路 第21 22 23天 主要还是递归
21 22 23天啦原创 2022-06-17 18:16:53 · 63 阅读 · 0 评论 -
算法题复健之路 第19 20天
算法题冲原创 2022-06-13 19:43:18 · 146 阅读 · 0 评论 -
算法题复健之路16 17 18天
算法题冲冲冲原创 2022-06-13 19:18:29 · 70 阅读 · 0 评论 -
算法题复健之路 第13 14 15 天
算法题复健第三天啦原创 2022-06-13 18:51:59 · 919 阅读 · 0 评论 -
算法题复健之路 第12天 ex番外篇之美团笔试
实战第一战,中间遇到的最大的问题在于,被leetcode习惯了,我不会一片空白的怎么解题,也不知道这种一片空白,也不会自动读取函数return的情况下,要怎么把答案给他,甚至也不知道他要的输入我要怎么给进去,leetcode是自己给的。后面通过例子,明白了,输入用input 具体用法还是得多练,输出 我看他们 直接把答案print一下,好像res变量给到了,不输出也行,多做真题练练应该会懂第一题 打怪遍历数组,这玩意,挺简单 不难,排序后遍历第二题 没看懂 取球算颜色的 用动态规划应该好做原创 2022-05-29 11:12:15 · 58 阅读 · 0 评论 -
算法题复健之路 第十一天 二叉树递归 栈
二叉树最大路径 有效括号 分别对应124 20 题二叉树最大路径 124:这题是个困难题,但是代码不多,只要明白思路,还是容易做的,最大的收获还是一个题解里面写得好,做这种题,思路得清楚,首先是二叉树,二叉树一定会有一个核心代码,这代码一定会遍历完二叉树的所有节点。def dfs(root): if not root: return dfs(root.left) dfs(root.right)其他的不过是在这个代码上做操作罢了,对自己的操作和对上一层下一层的操作,然原创 2022-05-29 10:57:04 · 47 阅读 · 0 评论 -
算法题复健之路 第78910天 二叉树 递归 搜索专场
第七天:二叉树的中后 层序遍历 对应leetcode 145 102 94题二叉树专场:中后序遍历没啥问题,一个套路,递归就完事了:# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right原创 2022-05-26 16:07:46 · 73 阅读 · 0 评论 -
算法题复健之路 第四天 第五天 第六天
第四天:做了两题 零钱兑换1 2 分别对应了 322 518两题都是动态规划 背包问题, 要点还是跟前面的动态规划一样 建立一个dp矩阵,注意初始值的设定,之后维护这矩阵即可,注意转移条件,背包问题应该要不停的减少价值作为条件。class Solution: def coinChange(self, coins: List[int], amount: int) -> int: n = len(coins) dp = [[amount+1]*(amo原创 2022-05-21 21:00:10 · 100 阅读 · 0 评论 -
算法题复健之路 第三天 数和
两数之和和三数之和 对应leetcode 1 和15第一题简单,最容易想到的是暴力的检索遍历 这样时间复杂度是n^2,高级一点的做法也容易想到,字典,维护检索字典。class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: a = {} for i, num in enumerate(nums): if target-num in a:原创 2022-05-18 22:17:52 · 56 阅读 · 0 评论 -
算法题复健之路 第二天 动态规划
70 72 1143 动态规划题动态规划的重点在于分解,把大问题变成小问题,小问题解决后,加起来变成大问题,一共几步路非常重要,第一步,确定边界条件,第二步,创建一个空的矩阵 一般是要把问题分成两个部分长度M,N ,数组先确定0时的特殊边界值,后面分解问题,例如把i位置的问题分解成i-1或者i-2 ,j-1之类的等等,最后要达到的效果是把大问题变成几个他的子问题相加的和,至于子问题如何解,跟递归一样,不需要知道,先假设他已经解了,这样列出关系式子,再从1到n 从底到顶,开始几个for循环遍历,将子问原创 2022-05-17 23:01:25 · 90 阅读 · 0 评论 -
算法题复健之路 第一天
912.排序数组6种方法对数组进行排序,排序的思想重点在于对数组中数字进行遍历比较,最重要的是快排,快排的思想是取一个数,然后不停的比较后分出前一半后一半,其他的排序大同小异,取一个数字作为中间数比较,然后不停的遍历,改变位置。class Solution: def sortArray(self, nums: List[int]) -> List[int]: def qs(nums, left, right): temp = nums[(lef原创 2022-05-17 22:51:03 · 67 阅读 · 1 评论