动态规划
PMPWDF
这个作者很懒,什么都没留下…
展开
-
486. 预测赢家 java
题目:力扣解题思路:1、递归2、记忆化递归3、动态规划(滑动数组)参考:力扣递归代码 (关键是choose_l,choose_r的理解)class Solution { public boolean PredictTheWinner(int[] nums) { return helper(nums, 0 , nums.length-1) >= 0; } public int helper(int[] nums, int lef.原创 2020-09-01 11:10:15 · 183 阅读 · 0 评论 -
三角形最小路径和
题目:力扣解题思路:先用了回溯法,超时了,后来看题解有人用了动态规划,我也自己想想了一下,最后想出来了,耶耶耶!class Solution { //动态规划 public int minimumTotal(List<List<Integer>> triangle) { int row = triangle.size(); int col = triangle.get(row-1).size(); ..原创 2020-07-14 12:13:55 · 188 阅读 · 0 评论 -
不同路径2
题目:力扣解题思路:dfs:一开始先用了dfs,但是超时了,原因是有大量重复遍历。动态规划:可以用dp[i][j]表示从起始位置(0,0)到(i,j)的路径数目,因为只能向下和向右走,所以dp[i][j]=dp[i-1][j]+dp[i][j-1];动态规划+滚动数组:我们可以运用「滚动数组思想」把空间复杂度优化称 O(m)O(m)。「滚动数组思想」是一种常见的动态规划优化方法,在我们的题目中已经多次使用到,例如「剑指 Offer 46. 把数字翻译成字符串」、「70..原创 2020-07-06 10:50:41 · 191 阅读 · 0 评论 -
通配符匹配
题目:力扣解题思路:一开始用了递归来做,超时了递归的思路:1、当字符串和模式串为空时,直接返回true。2、当字符串不为空但模式串为空时,返回false3、当字符串为空时,模式串不为空,需要判断,如果模式串全为*,则返回true,否则返回false。4、当字符串和模式串均不为空时,也需要判断。先判断第一个字符是否相等当两个字符相等时,相等 当模式串字符为?,无论字符串字符是什么,相等当第一个字符相等时,返回isMatch(s.substring(1,s_len),p.原创 2020-07-05 12:08:16 · 394 阅读 · 0 评论 -
最长重复子数组
题目:力扣解题思路:最长公共子串换了个马甲,这要是搁在以前我可能看不出来,果然做题是有用的,看完题目就大概知道需要用动态规划做了,这种求最值的而不是具体内容的可以往动态规划上考虑一下,看看是否可以满足动态规划的条件。class Solution { public int findLength1(int[] A, int[] B) { int row = A.length+1; int col = B.length+1; int.原创 2020-07-01 14:12:26 · 185 阅读 · 0 评论 -
最大子序和及乘积最大子数组
题目链接:最大子序和:https://leetcode-cn.com/problems/maximum-subarray/乘积最大子数组:https://leetcode-cn.com/problems/maximum-product-subarray/解题思路:动态规划问题要满足三个条件,第一是最优子结构,第二是子问题重叠,第三是无后效性。最难的是找到状态转移方程。两个题目的状态转移方程的关键点在于理解以第i个元素结尾的最大值。举例说明:测试数组为[1,7,-3,4].原创 2020-05-18 10:10:48 · 264 阅读 · 0 评论 -
零钱兑换
题目描述:力扣解题思路:动态规划:自下而上具体参考:https://leetcode-cn.com/problems/coin-change/solution/322-ling-qian-dui-huan-by-leetcode-solution/方法三public class Solution { public int coinChange(int[] coi...转载 2020-03-08 20:27:52 · 184 阅读 · 0 评论 -
查找两个字符串a,b中的最长公共子串
题目:牛客网解题思路:使用动态规划,2个字符串中短字符串的长度作为数组(record)的行数长字符串的长度作为数组(record)的列数判断两个字符是否相等,若不相等,record[i][j]=0;若相等,需要注意row==0或col==0的情况,此时,record[i][j]==1;i!=0且j!=0的时候,record[i][j]=record[i-1][j-1]+1...原创 2020-02-05 19:12:52 · 272 阅读 · 0 评论 -
最长上升子序列
题目:牛客网解题思路:(图片来源:https://www.cnblogs.com/frankchenfu/p/7107019.html)// write your code hereimport java.util.Scanner;public class Main { public static int longestupSubsquence(int[] arr){...原创 2020-01-21 21:01:35 · 116 阅读 · 0 评论 -
最长公共子序列
题目:牛客网链接解题思路:(图片来源:https://www.cnblogs.com/hapjin/p/5572483.html)import java.util.Scanner;public class Main { public static int longestCommonSubsquence(String str1, String str2){ ...原创 2020-01-21 19:55:23 · 112 阅读 · 0 评论