代码随想录:474. 一和零

474. 一和零

二维费用背包问题

cpp 复制代码
class Solution {
public:
    int findMaxForm(vector<string>& strs, int m, int n) {
        int l = strs.size();
        int dp[110][110] = {0};
        //dp[i][j]表示有i个0,j个1的子集长度
        for (int i = 0; i < l; i++) {
            //遍历字符数组
            int one = 0, zero = 0;
            int len = strs[i].size();
            for (int j = 0; j < len; j++) {
                if (strs[i][j] == '1')
                    one++;
                else
                    zero++;
            }
            //算第i个字符串有多少0,多少1
            for (int j = m; j >= zero; j--)
                for (int k = n; k >= one; k--)
                    dp[j][k] = max(dp[j][k], dp[j - zero][k - one] + 1);
                    //更新dp数组,要么维持前一个字符串的结果,要么取该字符串
        }
        return dp[m][n];
    }
};
相关推荐
曹牧6 小时前
Java:Math.abs()‌
java·开发语言·算法
!停6 小时前
c语言动态申请内存
c语言·开发语言·数据结构
悟能不能悟6 小时前
list<string> 和String[],转化为jsonstr是不是一样的
数据结构·windows·list
CoovallyAIHub6 小时前
纯视觉的终结?顶会趋势:不会联觉(多模态)的CV不是好AI
深度学习·算法·计算机视觉
CoovallyAIHub6 小时前
一文读懂大语言模型家族:LLM、MLLM、LMM、VLM核心概念全解析
深度学习·算法·计算机视觉
范纹杉想快点毕业7 小时前
嵌入式C语言实战开发详解
linux·运维·算法
闲看云起7 小时前
LeetCode day3-最长连续序列
算法·leetcode
TechNomad7 小时前
二叉堆&大根堆&小根堆的介绍和使用
数据结构
随意起个昵称7 小时前
【题解学习】序列题
学习·算法
思通数科多模态大模型7 小时前
门店 AI 清洁系统:AI 语义分割 + 机器人清洁
大数据·人工智能·算法·目标检测·计算机视觉·自然语言处理·机器人