当前位置: 首页 > news >正文

[力扣题解] 474. 一和零

题目:474. 一和零

思路

01背包
一维数组形式,只不过重量有2个维度;

  • f[i][j] :满足条件“不超过i个0,j个1”的最大子集长度;
  • f[i][j] = max(f[i][j], f[i-zero_num][j-one_num]),其中zero_numone_num分别是遍历物品(strs中每个字符串)时统计的0的个数,1的个数;

代码

// 01背包问题
// 一维数组,重量有2个维度
// f[i][j] : 最大有i个0, j个1的最大子集个数
// f[i][j] = f[i-zero_num[i]][j - one_num[i]] + 1;class Solution {
public:int findMaxForm(vector<string>& strs, int m, int n) {int i, j;int zero_num = 0, one_num = 0;vector<vector<int>> f(m+1, vector<int>(n+1, 0));// 遍历物品for(string s:strs){zero_num = count(s.begin(), s.end(), '0');one_num = count(s.begin(), s.end(), '1');// 遍历重量for(i = m; i >= zero_num; i--){for(j = n; j >= one_num; j--){f[i][j] = max(f[i][j], f[i-zero_num][j-one_num] + 1);}}}for(i = 0; i <= m; i++){for(j = 0; j <= n; j++){cout << f[i][j] << ", ";}cout << endl;}return f[m][n];}
};

相关文章:

  • vue 拷贝
  • RNN-循环神经网络
  • Linux——进程信号(一)
  • Spring Security整合Gitee第三方登录
  • 智能车竞赛指南:从零到一,驶向自动驾驶的未来
  • v-md-editor和SSE实现ChatGPT的打字机式输出
  • 一篇讲透排序算法之插入排序and选择排序
  • Langchain:生态能力学习和智能代理体系对比
  • 用于图像和用于自然语言的神经网络区别
  • 区块链的运行原理与演示
  • Vue 离线地图实现
  • 蓝桥杯2023(十四届)省赛——统计日期(八重神子)
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit(2)
  • Android视频开发入门指南
  • 云原生Kubernetes: K8S 1.26版本 部署KubeSphere
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • C# 免费离线人脸识别 2.0 Demo
  • extjs4学习之配置
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Hibernate【inverse和cascade属性】知识要点
  • HTML中设置input等文本框为不可操作
  • October CMS - 快速入门 9 Images And Galleries
  • php的插入排序,通过双层for循环
  • Rancher如何对接Ceph-RBD块存储
  • Redash本地开发环境搭建
  • spring-boot List转Page
  • Yii源码解读-服务定位器(Service Locator)
  • 回流、重绘及其优化
  • 记一次删除Git记录中的大文件的过程
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 码农张的Bug人生 - 初来乍到
  • 前端之React实战:创建跨平台的项目架构
  • 驱动程序原理
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 设计模式 开闭原则
  • 通过npm或yarn自动生成vue组件
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #ubuntu# #git# repository git config --global --add safe.directory
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (11)MATLAB PCA+SVM 人脸识别
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (全注解开发)学习Spring-MVC的第三天
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十六)Flask之蓝图
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .CSS-hover 的解释
  • .gitignore文件---让git自动忽略指定文件
  • .htaccess配置重写url引擎
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复