力扣动态规划-26【算法学习day.120】

embedded/2025/2/13 18:23:06/

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.目标和

题目链接:494. 目标和 - 力扣(LeetCode)

题面:

附上灵神代码: 

java">class Solution {private int[] nums;private int[][] memo;public int findTargetSumWays(int[] nums, int target) {int s = 0;for (int x : nums) {s += x;}s -= Math.abs(target);if (s < 0 || s % 2 == 1) {return 0;}int m = s / 2; // 背包容量this.nums = nums;int n = nums.length;memo = new int[n][m + 1];for (int[] row : memo) {Arrays.fill(row, -1); // -1 表示没有计算过}return dfs(n - 1, m);}private int dfs(int i, int c) {if (i < 0) {return c == 0 ? 1 : 0;}if (memo[i][c] != -1) { // 之前计算过return memo[i][c];}if (c < nums[i]) {return memo[i][c] = dfs(i - 1, c); // 只能不选}return memo[i][c] = dfs(i - 1, c) + dfs(i - 1, c - nums[i]); // 不选 + 选}
}

后言

上面是动态规划相关的习题,共勉

 


http://www.ppmy.cn/embedded/161929.html

相关文章

web前端开发中vscode常用的快捷键

1.快速复制一行 快捷键&#xff1a; shiftalt 下箭头(上箭头) 或者 ctrlc 然后 ctrlv 2.选定多个相同的单词 快捷键&#xff1a; ctrl d 先双击选定一个单词&#xff0c;然后按下 ctrl d 可以往下依次选择相同的单词。 这样同时修改相同的单词 3.全局替换某单词 当我们一个…

热敏电阻的主要作用是什么

热敏电阻&#xff08;Thermistor&#xff09;是一种电阻值随温度变化的电气元件。它主要有两种类型&#xff1a;**负温度系数&#xff08;NTC&#xff09;热敏电阻和正温度系数&#xff08;PTC&#xff09;**热敏电阻。 热敏电阻的主要作用包括以下几个方面&#xff1a; 1. 温…

《图解设计模式》笔记(七)简单化

十五、Facade 模式&#xff1a;简单窗口 程序越来越大&#xff0c;类错综复杂&#xff0c;可以为这个大型程序准备一个“窗口”&#xff0c;这样就不必单独地关注每个类了&#xff0c;只需简单地对“窗口”提出请求即可。 这个“窗口”就是Facade模式。 Facade是一个源自法语F…

IntelliJ IDEA 安装与使用完全教程:从入门到精通

一、引言 在当今竞争激烈的软件开发领域&#xff0c;拥有一款强大且高效的集成开发环境&#xff08;IDE&#xff09;是开发者的致胜法宝。IntelliJ IDEA 作为 JetBrains 公司精心打造的一款明星 IDE&#xff0c;凭借其丰富多样的功能、智能精准的代码提示以及高效便捷的开发工…

git提交到GitHub问题汇总

1.main->master git默认主分支是maser&#xff0c;如果是按照这个分支名push&#xff0c;GitHub会出现两个branch&#xff0c;与预期不符 解决方案&#xff1a;更改原始主分支名为main git config --global init.defaultBranch main2.git&#xff1a;OpenSSL SSL_read: SS…

【Stable Diffusion模型测试】测试ControlNet,没有线稿图?

相信很多小伙伴跟我一样&#xff0c;在测试Stable Diffusion的Lora模型时&#xff0c;ControlNet没有可输入的线稿图&#xff0c;大家的第一反应就是百度搜&#xff0c;但是能从互联网上搜到的高质量线稿图&#xff0c;要么收费&#xff0c;要么质量很差。 现在都什么年代了&a…

Anaconda Navigator 与 Conda:GUI 和 CLI 的对比与使用

1. 引言 Anaconda 提供了两种主要的管理工具&#xff1a; Anaconda Navigator&#xff08;GUI 界面&#xff09;Conda&#xff08;命令行工具 CLI&#xff09; 这两种工具各有优劣&#xff0c;适用于不同类型的用户。本文将详细介绍它们的功能、使用方法及对比分析&#xff…

Web3 的虚实融合之路:从虚拟交互到元宇宙构建

在这个数字技术日新月异的时代&#xff0c;我们正站在 Web3 的门槛上&#xff0c;见证着互联网的又一次革命。Web3 不仅仅是技术的迭代&#xff0c;它代表了一种全新的交互方式和价值创造模式。本文将探讨 Web3 如何推动虚拟交互的发展&#xff0c;并最终实现元宇宙的构建&…