![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
文章平均质量分 57
学习算法知识,及时总结
didi..
人声车声开始消和逝
展开
-
算法理解7--买卖股票最佳时机
题目分析和之前做的一个题目很像,之前那个题目是使用贪心算法,因为那个题目可以无限制购买股票但是这个题目只要求买入和卖出一次股票这个题目有两种思路:看看在第i天买入可以赚多少钱(需要在第i天之后找到一个最大值,利润最大)看看第i天卖出可以赚多少钱(需要找到第i天之前的最小值,利润最大)第一种找最大值,随着i变大,需要去掉前边的数字,从后边找最大值,去掉一个数字,其实很难再重新找到一个最大值,只能再次遍历,第二种找最小值,随着i变大,需要不断增加数字,增加数字就很容易确定最小值了,只需要看原创 2021-06-23 21:46:14 · 151 阅读 · 2 评论 -
算法理解6--二叉搜索树中第K小的元素
题目分析做每一个题目,都要仔细的分析题目,这是我总结出来的很重要的一个技巧题目中的每一句话,可能都是解题的线索本题有两个要素,二叉搜索树,第K大一看到二叉搜索树,就应该想到,这个数按照中序遍历是从小到大的,这样思路就有了,只要按照中序遍历到第k个数字,那么就求出来了啊,开始写代码代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;原创 2021-06-23 21:30:58 · 124 阅读 · 0 评论 -
算法解析5--二叉树的最近公共祖先
题目题目分析任何一个算法题目的,题干都不会是无用的信息,充分理解题干,才是解决问题的关键二叉搜索树:左节点<父节点;右节点>父节点所有节点的值不相等:不会有相等的节点最近的公共父节点:可以换一种理解,最近的公共父节点node,就是p和q在node两边的时候,这个node一定最近的父节点,也就是二叉搜索树的最近公共节点一定是可以将这两个数分在左右两边的一个节点。更远的父节点一定不能把这两个数分在左右两边,因为更远的父节点会把更近的父节点分在同一边。这是解决这个题目的关键代码实现原创 2021-06-17 21:03:19 · 161 阅读 · 0 评论 -
算法解析4--入栈、出栈顺序是否正确
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对原创 2021-06-15 21:18:15 · 497 阅读 · 2 评论 -
算法理解3---最长回文子串(题号5)
题目动态规划可是算法的常考题目啦,今天想学动态规划我直接找了动态规划的分组,就这个题目啦!,不过这个题目看起来很奇怪,看起来挺简单有思路但是好像又写不出来,最怕这种题啦,今天既然是学动态规划,那么就不能用暴力求解,以后做题都不要用暴力求解,要首先想这个题目要用什么算法,这才能锻炼做题!动态规划解题分析动态规划的本质就是将复杂的问题分解,然后通过一步一步解决分解问题,最终求出复杂问题的答案,所以,动态规划就是要确定问题要如何分解!这是第一步知道如何分解之后,我们就能够确定使用一维数组还是二维数组原创 2021-06-13 23:35:45 · 86 阅读 · 2 评论 -
算法理解2-组合求和IV
题目题目思路看到这个题目之后,首先数字可以重复使用,比较容易想到的是可以首先拿第一个数(都遍历一遍),第二个数也遍历所有的数字,以此类推,直到加和大于目标数之后,进行回溯,就找到了所有组合开始准备实现!测试通过了,马上提交!结果计算超时!!!仔细分析,刚才我的回溯算法虽然代码是正确的,可以求出最终结果,但是实际上这种算法是把所有所有的数字组合全部都列出来,然后找到求和等于target的组合,对于需要很多数字的情况列出全部的数列太慢了,所以不能用这种算法,考虑其他算法!!!这个回溯算法,崽崽原创 2021-06-10 22:17:43 · 260 阅读 · 0 评论 -
算法理解1-买卖股票的最佳时机II
leecode算法讲解-1题目:买卖股票的最佳时机 II(题号122)重点思路贪心算法百度百科定义本题思路JAVA代码题目:买卖股票的最佳时机 II(题号122)重点思路题目最终是问一个最大利润,言外之意就是不需要给出具体怎么操作,怎么买卖,这其实是降低了题目的难度一般遇到这种只需要获取一个最大值的问题,首先考虑一下贪心算法贪心算法我理解的贪心算法,其实不是一个具体的算法,也就是没有具体的公式,不像动态规划等算法有一套专门的公式,更重要的就是结合实际进行分析。百度百科定义本题思路对原创 2021-06-08 21:22:41 · 84 阅读 · 0 评论