leetcode474. 一和零(动态规划)

在计算机界中,我们总是追求用有限的资源获取最大的收益。

现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。

你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。

注意:

给定 0 和 1 的数量都不会超过 100。
给定字符串数组的长度不会超过 600。
示例 1:

输入: Array = {“10”, “0001”, “111001”, “1”, “0”}, m = 5, n = 3
输出: 4

解释: 总共 4 个字符串可以通过 5 个 0 和 3 个 1 拼出,即 “10”,“0001”,“1”,“0” 。

解题思路

数组含义:dp[i][j]给定i个0和j个1能拼出存在于数组中的字符串的最大数量。
状态转移: dp[i][j]= Math.max(dp[i-c[0]][j-c[1]]+1,dp[i][j]) 拿当前字符串或者不拿

代码

class Solution {public int findMaxForm(String[] strs, int m, int n) {int[][] dp=new int[m+1][n+1];int[][] helper=new int[strs.length][2];for(int i=0;i<strs.length;i++)for(char c:strs[i].toCharArray())if(c=='0') helper[i][0]++;else helper[i][1]++;for (int[] c:helper)for(int i=m;i>=c[0];i--)for (int j=n;j>=c[1];j--)dp[i][j]= Math.max(dp[i-c[0]][j-c[1]]+1,dp[i][j]);return dp[m][n];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery对象与DOM对象的相互转换

一、检测方式上的区别 检测DOM对象&#xff1a; if (Object.nodeType) 检测jQery对象&#xff1a; if (Object.jquery) 二、转换方式 jQuery对象转DOM对象&#xff1a; var DOMObject jQueryObject.get([index]); // 或者 var DOMObject jQueryObject[index]; DOM对象转jQuer…

ProcessExplore 最新版

http://files.cnblogs.com/files/zhangdongsheng/ProcessExplorer.zip转载于:https://www.cnblogs.com/zhangdongsheng/p/6195743.html

javascript对象包含哪些要素_让人迷糊的JavaScript对象(Object一)

对于很多初学的小伙伴听到JavaScript内置对象、BOM、DOM、WEB API等关键词基本上都是迷糊&#xff0c;不是很明白他们之间的关系&#xff0c;以及他们是如果建立联系的。虽然我们现在小伙伴在学VUE&#xff0c;React等框架能简化我们的操作&#xff0c;但是遇到一些基础的问题还…

被吐嘈的NodeJS的异常处理

被吐嘈的NodeJS的异常处理 许多人都有这样一种映像&#xff0c;NodeJS比较快&#xff1b; 但是因为其是单线程&#xff0c;所以它不稳定&#xff0c;有点不安全&#xff0c;不适合处理复杂业务&#xff1b; 它比较适合对并发要求比较高&#xff0c;而且简单的业务场景。 在Expr…

javascript关键字_让我们揭开JavaScript的“ new”关键字的神秘面纱

javascript关键字by Cynthia Lee辛西娅李(Cynthia Lee) 让我们揭开JavaScript的“ new”关键字的神秘面纱 (Let’s demystify JavaScript’s ‘new’ keyword) Over the weekend, I completed Will Sentance’s JavaScript: The Hard Parts. It might not sound like the most…

查看 rabbitmq 启动websocket 提示404_RabbitMQ在windows下安装(笔记)

先保证Java开发环境一切正常&#xff0c;【jdk,maven】,然后下载两个文件&#xff0c;1&#xff0c;下载OTPhttps://www.rabbitmq.com/download.html 下载地址下载RabbitMQ Downloading and Installing RabbitMQ:地址安装没有别的操作&#xff0c;一直下一步就好&#xff1b;2&…

[Leetcode] Longest Valid Parentheses

找出字串裡最長的合法括號組 簡單說&#xff0c;一樣stack搜尋合法parenth&#xff0c;把不合法的 ( & ) index 紀錄下來&#xff0c;最後算index間的差值取最大就是最長的 public class Solution{/// <summary>/// 把不合法的( )的index記下來&#xff0c;取最長的差…

leetcode35. 搜索插入位置(二分搜索)

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 代码 class Solution {public int sear…

[deviceone开发]-do_Album的简单示例

一、简介do_Album用来打开手机系统提供的相册&#xff0c;能选择一张或多张图片返回给开发者&#xff0c;通常相册的图片比较大&#xff0c;要经过缩放。有的时候用户也需要把别的地方获取到到图片收藏到系统相册。这个示例简单展示这个组件的2个基本功能。二、效果图三、相关下…

公办低分二本_这六所公办二本高校的计算机类相关专业值得低分段考生选择

邯郸学院——计算机科学与技术近年来&#xff0c;邯郸学院着力强化“以本为本”理念,坚持“学生中心”“产出导向”原则&#xff0c;加强学科专业建设&#xff0c;获批国家级特色专业1个&#xff0c;省级重点发展学科3个&#xff0c;省级一流专业7个&#xff0c;英语等3个专业入…

用户体验改善案例_用户体验案例研究:建立更好的体验(重新设计“和平航空”网站)...

用户体验改善案例by Peace Ojemeh (Perrie)由Peace Ojemeh(Perrie) 用户体验案例研究&#xff1a;建立更好的体验(重新设计“和平航空”网站) (A UX case study: Building a better experience (Re-designing the Air Peace Airline website)) Traveling by air is always an …

[转]FFMPEG调节音频的音量大小,混音

链接&#xff1a;https://blog.csdn.net/nil_lu/article/details/52078488 转载于:https://www.cnblogs.com/zifeiy/p/10675734.html

局域网即时通讯软件_无线局域网中,安卓手机和电脑的资源如何实现互传互访?...

安卓手机和电脑之间的资源共享&#xff0c;可实现的方案有很多&#xff0c;例如&#xff1a;方案一是各种官方或第三方出品的“XX手机助手”软件。优点是直连的传输速率最高&#xff1b;缺点一是手机和电脑必须连在一起&#xff0c;相当不方便&#xff0c;缺点二是万一中途发生…

leetcode516. 最长回文子序列(动态规划)

***给定一个字符串 s &#xff0c;找到其中最长的回文子序列&#xff0c;并返回该序列的长度。***可以假设 s 的最大长度为 1000 。 示例 1: 输入: “bbbab” 输出: 4 一个可能的最长回文子序列为 “bbbb”。 解题思路 数组含义&#xff1a;dp[i][j]子串&#xff08;i&#…

Ubuntu 14.04 FTP服务器--vsftpd的安装和配置

更新源列表 打开"终端窗口"&#xff0c;输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了。如果不运行该命令&#xff0c;直接安装vsftpd,会出现"有 几个软件包无法下载&#xff0c;您可以运…

校验电话号码 手机号码正则表达式

2019独角兽企业重金招聘Python工程师标准>>> 电话号码 手机号码 等准确详细 正则表达式电话号码正则表达式 &#xff08;支持手机号码&#xff0c;3-4位区号&#xff0c;7-8位直播号码&#xff0c;1&#xff0d;4位分机号&#xff09; ((\d{11})|^((\d{7,8})|(\d{4}…

期刊投稿状态_SCI投稿全过程解析及拒稿后处理对策

之前给大家介绍了如果使用人工智能来提高SCI写作效率的神器&#xff0c;相信大家对SCI写作已经很有信心了。但有些小伙伴后台说对投稿过程很没有概念&#xff0c;不同期刊不同状态。那么今天我们就对SCI投稿过程、投稿状态做一个总结和解析以及拒稿后处理对策及接受后期相关问答…

cake php_如何(以及为什么)在Swinject中使用Cake Pattern

cake phpby Peter-John Welcome由Peter-John Welcome 如何(以及为什么)在Swinject中使用Cake Pattern (How (and why) to use the Cake Pattern with Swinject) In my previous article, I showed how we can use the Cake Pattern to do dependency injection without any li…

运用Appium 实现添加微信好友自动化

本文为原创文章&#xff0c;如需转载请注明出处. 任务&#xff1a;实现批量添加微信好友自动化。 任务分析&#xff1a;1.首先要实现添加单个好友步骤自动化。 2.实现脚本读取Excel里的值。 3.参数化好友电话号码或者昵称。 PS:代码采用POM(Page Object Model)便于后续维护 数…

pdf.js浏览中文pdf乱码的问题解决

由于项目中需要支持移动设备在线浏览pdf&#xff0c;苹果还好&#xff0c;天生支持&#xff0c;但是安卓中就不行了&#xff0c;需要第三方组件的支持。 这里就找到了pdf.js&#xff0c;由于pdf数据太多&#xff0c;开始的时候没法一一测试&#xff0c;所以随便测试打开了几篇没…