摘要: 647. 回文子串 //动态规划 // class Solution { // public int countSubstrings(String s) { // char[] a = s.toCharArray(); // int len = a.length; // //dp[i][j]代表区间 阅读全文
posted @ 2022-07-02 21:44 一梦两三年13 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 115. 不同的子序列 class Solution { public int numDistinct(String s, String t) { char[] a1 = s.toCharArray(), a2 = t.toCharArray(); if (a1.length == 0 || a2. 阅读全文
posted @ 2022-06-30 18:11 一梦两三年13 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 718. 最长重复子数组 class Solution { public int findLength(int[] nums1, int[] nums2) { int len1 = nums1.length, len2 = nums2.length; int[][] dp = new int[len 阅读全文
posted @ 2022-06-27 20:46 一梦两三年13 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 714. 买卖股票的最佳时机含手续费 class Solution { public int maxProfit(int[] prices, int fee) { int len = prices.length; int[][] dp = new int[len][2]; //两种状态:持有和不持有 阅读全文
posted @ 2022-06-25 21:39 一梦两三年13 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 122. 买卖股票的最佳时机 II // class Solution { // public int maxProfit(int[] prices) { // int n = prices.length; // int[][] dp = new int[n][2]; // dp[0][0] = - 阅读全文
posted @ 2022-06-24 21:31 一梦两三年13 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 139. 单词拆分 class Solution { public boolean wordBreak(String s, List<String> wordDict) { int len = s.length(); boolean[] dp = new boolean[len + 1]; Set< 阅读全文
posted @ 2022-06-23 21:07 一梦两三年13 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 377. 组合总和 Ⅳ class Solution { public int combinationSum4(int[] nums, int target) { int[] dp = new int[target + 1]; //求排列 每一层求得是所有物品刚好凑满i的排列数 每个物品无限使用 d 阅读全文
posted @ 2022-06-22 17:21 一梦两三年13 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 474. 一和零 class Solution { public int findMaxForm(String[] strs, int m, int n) { //两个维度的0/1背包 int[][] dp = new int[m + 1][n + 1]; for (String str : str 阅读全文
posted @ 2022-06-21 23:07 一梦两三年13 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 0/1背包滚动数组 题目: 代码: package LeetCode; import java.util.Arrays; public class zero_one_bag { public static void main(String[] args) { int[] weight = {1, 3 阅读全文
posted @ 2022-06-20 18:31 一梦两三年13 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 343. 整数拆分 class Solution { public int integerBreak(int n) { if (n < 2) return -1; int dp[] = new int[n + 1]; dp[2] = 1; for (int i = 3; i <= n; i++) { 阅读全文
posted @ 2022-06-18 21:33 一梦两三年13 阅读(18) 评论(0) 推荐(0) 编辑