代码随想录: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];
    }
};
相关推荐
我在人间贩卖青春3 分钟前
线性表之循环队列
数据结构·队列·循环队列
dragoooon346 分钟前
[C++——lesson29.数据结构进阶——「AVL树」]
算法
碧海银沙音频科技研究院11 分钟前
论文写作word插入公式显示灰色解决办法
人工智能·深度学习·算法
长沙京卓24 分钟前
【无人机算法】低空经济下无人机巡检检测识别算法(城市、林业、水利)
算法·无人机
hn小菜鸡25 分钟前
LeetCode 1971.寻找图中是否存在路径
算法·leetcode·职场和发展
Han.miracle34 分钟前
数据结构与算法--007三数之和(medium)
算法·leetcode·排序算法
听风吹等浪起36 分钟前
机器学习算法:随机梯度下降算法
人工智能·深度学习·算法·机器学习
落羽的落羽37 分钟前
【C++】哈希扩展——位图和布隆过滤器的介绍与实现
linux·服务器·开发语言·c++·人工智能·算法·机器学习
仁桃仁呀41 分钟前
160.相交链表
数据结构·算法·链表
普密斯科技43 分钟前
从点测量到解决方案:光谱共焦技术如何集成于运动平台,实现3D轮廓扫描与透明物体测厚?
人工智能·算法·计算机视觉·3d·集成测试·测量