代码随想录算法训练营第42天 | 1049. 最后一块石头的重量 II 、494. 目标和 、474.一和零

news/2024/6/27 3:41:47
  1. 最后一块石头的重量 II

本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。
视频讲解:https://www.bilibili.com/video/BV14M411C7oV
https://programmercarl.com/1049.最后一块石头的重量II.html

这三体=题都没啥思路
/*** @param {number[]} stones* @return {number}*/
var lastStoneWeightII = function(stones) {let sum = 0;for (let i=0;i<stones.length;i++) {sum+=stones[i];}let target = Math.floor(sum/2);const dp = new Array(target+1).fill(0);for (let i=0;i<stones.length;i++) {for (let j=target;j>=stones[i];j--) {dp[j] = Math.max(dp[j], dp[j - stones[i]] + stones[i]);}}return sum-dp[target] - dp[target];
};
  1. 目标和
    大家重点理解 递推公式:dp[j] += dp[j - nums[i]],这个公式后面的提问 我们还会用到。
    视频讲解:https://www.bilibili.com/video/BV1o8411j73x
    https://programmercarl.com/0494.目标和.html
/*** @param {number[]} nums* @param {number} target* @return {number}*/
var findTargetSumWays = function(nums, target) {let sum = 0;for (let i=0;i<nums.length;i++) {sum+=nums[i];}if (Math.abs(target)>sum) {return 0;}if ((sum+target)%2===1) {return 0;}let left = (sum+target)/2;const dp = new Array(left+1).fill(0);dp[0] = 1;for (let i=0;i<nums.length;i++) {for (let j=left;j>=nums[i];j--) {dp[j] += dp[j-nums[i]];}}return dp[left];
};

474.一和零
通过这道题目,大家先粗略了解, 01背包,完全背包,多重背包的区别,不过不用细扣,因为后面 对于 完全背包,多重背包 还有单独讲解。
视频讲解:https://www.bilibili.com/video/BV1rW4y1x7ZQ
https://programmercarl.com/0474.一和零.html

/*** @param {string[]} strs* @param {number} m* @param {number} n* @return {number}*/
var findMaxForm = function(strs, m, n) {const dp = new Array(m+1).fill(0).map(()=>new Array(n+1).fill(0));for (let str of strs) {let x = 0;let y = 0;for (let k=0;k<str.length;k++) {if (str[k] === '0'){x++;} else {y++;}}for (let i=m;i>=x;i--) {for(let j=n;j>=y;j--) {dp[i][j] = Math.max(dp[i][j], dp[i-x][j-y]+1);}}}return dp[m][n];
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

中间件漏洞

Nginx Nginx不安全配置漏洞 /usr/local/soft/vulhub/nginx/insecure-configuration 1.目录穿越漏洞 http://your-ip:8081/files../2.CRLF注入漏洞 location / { return 302 https://$host$uri; } 原本的目的是为了让http的请求跳转到https上利用方式 %0d%0a%0d%0a<script>…

Day 26| 39. 组合总和 、 40.组合总和II 、 131.分割回文串

组合总和本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制 题目链接/文章讲解:https://programmercarl.com/0039.组合总和.html 视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ 给定一个无重复元素的数组 candidates 和一个目标数…

2024嵌入式大作业

2024年上海交通大学嵌入式课程大作业 本学年是嵌入式第一次上升到4学分,即在原本的2学分的理论课程之上增设了2学分的实验课,因而成为了一门大课。 不同老师之间大作业的要求不同,所以我把我们班的实验要求罗列出来,并谈一谈我的实现方案,希望能够作为前人的智慧,起到抛砖…

【Playwright+Python】系列教程(一)环境搭建及脚本录制

前言 看到这个文章,有的同学会说: 六哥,你为啥不早早就写完python系列的文章。 因为有徒弟需要吧,如果你也想学自学,那这篇文章,可以说是我们结缘一起学习的开始吧! 如果对你有用,建议收藏和转发! Playwright是什么? 微软开源自动化测试工具Playwright,支持主流浏览…

苹果CMS 阿里云OSS插件

直接下载插件上传到CMS的addons目录解压点击启用插件点击配置插件配置完毕后进入系统菜单>附件参数配置保存方式改为阿里云OSS即可需要插件直接联系我 :vx:qianjingchuangqi本文来自博客园,作者:ikay,转载请注明原文链接:https://www.cnblogs.com/ikay/p/18255405

PPT使用技巧

PPT使用说明: 查看版本:账户 撤回次数: 自动保存: 图片压缩:(ppt图片默认是压缩的),只针对单个ppt文件 字体嵌入:解决不同电脑导致字体显示的不一样。 ppt多格式导出:如视频、图片、图片型的ppt 参考线: 默认字体: 默认样式:设置所有图形的样式清除占位符:…

点云分割网络PointConv

PDF:《PointConv: Deep Convolutional Networks on 3D Point Clouds》 CODE: https://github.com/DylanWusee/pointconv 一、大体内容 PointConv是一种在非均匀采样下对3D点云进行卷积的运算,可以用来构建深度卷积网络,其将卷积核视为由权重函数和密度函数组成的三维点的局部…

算法金 | 一个强大的算法模型:t-SNE !!

大侠幸会,在下全网同名「算法金」0 基础转 AI 上岸,多个算法赛 Top「日更万日,让更多人享受智能乐趣」t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于降维和数据可视化的非线性算法。它被广泛应用于图像处理、文本挖掘和生物信息学等领域,特别擅长处理高…