代码随想录——一和零(Leetcode474)

题目链接
在这里插入图片描述

0-1背包

class Solution {
    public int findMaxForm(String[] strs, int m, int n) {
        // 本题m,n为背包两个维度
        // dp[i][j]:最多右i个0和j个1的strs的最大子集大小
        int[][] dp = new int[m + 1][n + 1];
        // 遍历strs中字符串
        for(String str : strs){
            int num0 = 0;
            int num1 = 0;
            for(int i = 0; i < str.length(); i++){
                if(str.charAt(i) == '0'){
                    num0++;
                }
                if(str.charAt(i) == '1'){
                    num1++;
                }
            }
             for(int i = m; i >= num0; i--){
                for(int j = n; j >= num1; j--){
                    dp[i][j] = Math.max(dp[i][j], dp[i - num0][j - num1] + 1);
                }
             }
        }
        return dp[m][n];
    }
}

背包递推公式:dp[i][j] = max(dp[i][j], dp[i - num0][j - num1] + 1)

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 10:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 10:14:01       102 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 10:14:01       83 阅读
  4. Python语言-面向对象

    2024-07-23 10:14:01       92 阅读

热门阅读

  1. 数据结构C++——矩阵【详】

    2024-07-23 10:14:01       31 阅读
  2. 问百度文心一言 下三角矩阵

    2024-07-23 10:14:01       28 阅读
  3. cookie和session的区别

    2024-07-23 10:14:01       28 阅读
  4. 图像预处理(基础功能)

    2024-07-23 10:14:01       29 阅读
  5. 014集——RSA非对称加密——vba源代码

    2024-07-23 10:14:01       32 阅读
  6. 如何面对压力和动力

    2024-07-23 10:14:01       35 阅读
  7. iphone11 如何打开开发者模式?

    2024-07-23 10:14:01       28 阅读
  8. centos7 yum更换国内源【超简洁步骤】

    2024-07-23 10:14:01       26 阅读
  9. Kotlin 继承

    2024-07-23 10:14:01       19 阅读
  10. LeetCode718. 最长重复子数组

    2024-07-23 10:14:01       22 阅读
  11. MySQL的查询优化思路

    2024-07-23 10:14:01       22 阅读
  12. 数据库分表实践

    2024-07-23 10:14:01       27 阅读