一个任性的博客

我浑浑噩噩,却又不甘落寞

95. 不同的二叉搜索树 II

参考链接:https://blog.csdn.net/happyaaaaaaaaaaa/article/details/51635367 在参考原本的基础上,使用一个辅助数组,保存递归中的值,避免重复计算。 //递归实现 public List<TreeNod...

2018-05-03 11:52:14

阅读数:365

评论数:0

300. 最长上升子序列

1、常规动归思想 首先使用的是常规的动归思想,时间复杂度为 O(n^2),不多解释,只是要注意,dp[i] 每次都是在 dp[0] - dp[i-1] 中寻找最大的值 + 1。 public int lengthOfLIS(int[] nums) { if (nums == n...

2018-04-23 10:52:45

阅读数:145

评论数:0

718. Maximum Length of Repeated Subarray

题目的大概意思,就是求两个数组中相同的最大连续子序列的长度。 题目自然是用动归来解决,但是一开始我想错来思路,代码如下: public int findLength2(int[] A, int[] B) { int[][] dp = new int[A.length][B...

2018-04-21 19:51:06

阅读数:23

评论数:0

96. 不同的二叉搜索树

附二叉搜索树的性质: 1、若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2、若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3、任意节点的左、右子树也分别为二叉查找树; 4、没有键值相等的节点。 参考链接:https://blog.csdn....

2018-04-20 12:53:29

阅读数:79

评论数:0

740. 删除与获得点数

参考链接:https://blog.csdn.net/liuchuo/article/details/79573624 首先需要注意到 nums[i] 的范围为 [1,10000],然后是题目的条件,如果获得了 nums[i] 元素对应的点数,则要删除 nums[i] 元素,且还需要删除...

2018-04-19 11:22:19

阅读数:89

评论数:0

343. 整数拆分

1、数学思维 参考:http://www.cnblogs.com/shihaochangeworld/p/5547436.html public static int integerBreak(int n) { if(n <= 3) return n - ...

2018-04-16 13:26:52

阅读数:48

评论数:0

392. 判断子序列

1、动归 首先想到的就是利用动归,先从简单的开始,利用一个二维辅助数组 dp[i][j],表示 s.sub(0,i) 是否为 t.sub(0,j)的子序列,其中有转换方程: if (dp[i][j - 1]) dp[i][j] = true; else dp[i][j] = dp[i ...

2018-04-15 16:49:29

阅读数:61

评论数:1

712. 两个字符串的最小ASCII删除和

参考链接:http://www.cnblogs.com/A-Little-Nut/p/8439094.html 利用动归的思想,使用二维辅助数组 dp[i][j],其含义代表字符串 s1 的子串 s1.sub(0,i-1) 和 s2 的子串 s2.sub(0,j-1) 需删除字符的ASC...

2018-04-14 22:40:58

阅读数:106

评论数:0

486. 预测赢家

原题链接:https://leetcode-cn.com/problems/predict-the-winner/description/ 该题,在解法上可以使用递归与动归两种思路解决,而这里选择的使用动归来实现。 首先要注意到题目中,假设每个玩家的玩法都会使他的分数最大化,并且玩家 ...

2018-04-13 23:04:56

阅读数:107

评论数:0

647. 回文子串

题目链接:https://leetcode-cn.com/problems/palindromic-substrings/description/ 基于动态规划 - 1 这题基于动态规划的思想来解答的话,实现思想参考自 :http://www.bkjia.com/Cyy/98826...

2018-04-08 17:15:15

阅读数:83

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭