06 2022 档案
摘要:115. 不同的子序列 class Solution { public int numDistinct(String s, String t) { char[] a1 = s.toCharArray(), a2 = t.toCharArray(); if (a1.length == 0 || a2.
阅读全文
摘要:718. 最长重复子数组 class Solution { public int findLength(int[] nums1, int[] nums2) { int len1 = nums1.length, len2 = nums2.length; int[][] dp = new int[len
阅读全文
摘要:714. 买卖股票的最佳时机含手续费 class Solution { public int maxProfit(int[] prices, int fee) { int len = prices.length; int[][] dp = new int[len][2]; //两种状态:持有和不持有
阅读全文
摘要:122. 买卖股票的最佳时机 II // class Solution { // public int maxProfit(int[] prices) { // int n = prices.length; // int[][] dp = new int[n][2]; // dp[0][0] = -
阅读全文
摘要:139. 单词拆分 class Solution { public boolean wordBreak(String s, List<String> wordDict) { int len = s.length(); boolean[] dp = new boolean[len + 1]; Set<
阅读全文
摘要:377. 组合总和 Ⅳ class Solution { public int combinationSum4(int[] nums, int target) { int[] dp = new int[target + 1]; //求排列 每一层求得是所有物品刚好凑满i的排列数 每个物品无限使用 d
阅读全文
摘要: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
阅读全文
摘要:0/1背包滚动数组 题目: 代码: package LeetCode; import java.util.Arrays; public class zero_one_bag { public static void main(String[] args) { int[] weight = {1, 3
阅读全文
摘要: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++) {
阅读全文
摘要:509. 斐波那契数 class Solution { public int fib(int n) { if (n <= 1) return n; int dp[] = new int[n+1]; dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++)
阅读全文