摘要: 一:解题思路 方法一:不断的寻找股票的最小值和最大值,并在最小值得时候买入,在最大值得时候卖出。Time:O(n),Space:O(1) 方法二:贪心法,只要后一天的值大于前一天的值,那么就进行买卖。Time:O(n),Space:O(1) 两种方法的时间和空间复杂度都是一样的。 二:完整代码示例 阅读全文
posted @ 2020-03-19 21:02 repinkply 阅读(485) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:递归法:Time:O(n),Space:O(n) 方法二:迭代法:Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) 递归C++: class Solution { public: int dfs(TreeNode* root, int sum 阅读全文
posted @ 2020-03-19 17:26 repinkply 阅读(168) 评论(0) 推荐(0)
摘要: 一:解题思路 从根节点到当前节点p的经过的路径节点记录下来到ppath数组中,从根节点到当前的节点q的经过的节点记录下来到qpath中,对比这2个数组中最后相同的那个节点,并且将其返回即可。Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class S 阅读全文
posted @ 2020-03-19 15:51 repinkply 阅读(145) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:递归法,当p和q的值,都小于当前根节点上的值得时候,就递归到左子树上来。当p和q的值,都大于当前根节点上的值得时候,就递归到右子树上来。否者,如果不满足上述2种情况,这当前的根节点就是所求的节点。Time:O(h),Space:O(h) 方法二:迭代法。Time:O(h),Sp 阅读全文
posted @ 2020-03-19 14:27 repinkply 阅读(120) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:Time:O(n),Sapce:O(n) 方法二:Time:O(n),Sapce:O(1) 二:完整代码示例 (C++版和Java版) 方法一C++: class Solution { public: vector<int> findDisappearedNumbers(vec 阅读全文
posted @ 2020-03-19 12:21 repinkply 阅读(170) 评论(0) 推荐(0)