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

算法第38天|322.零钱兑换\139. 单词拆分

322.零钱兑换

题目

在这里插入图片描述

思路与解法

class Solution {
public:int coinChange(vector<int>& coins, int amount) {// dp数组://   dp[i]: 凑成总金额i,所需的最少硬币个数vector<int> dp(amount + 1, INT_MAX);dp[0] = 0;for (int i = 0; i < coins.size(); i++) { // 遍历物品for (int j = coins[i]; j <= amount; j++) { // 遍历背包if (dp[j - coins[i]] != INT_MAX) { // 如果dp[j - coins[i]]是初始值则跳过dp[j] = min(dp[j - coins[i]] + 1, dp[j]);}}}if (dp[amount] == INT_MAX) return -1;return dp[amount];}
};

279. 完全平方数

题目

在这里插入图片描述

思路与解法

class Solution {
public:int numSquares(int n) {vector<int> dp(n + 1, INT_MAX);dp[0] = 0;for (int i = 0; i <= n; i++) { // 遍历背包for (int j = 1; j * j <= i; j++) { // 遍历物品dp[i] = min(dp[i - j * j] + 1, dp[i]);}}return dp[n];}
};

139. 单词拆分

题目

在这里插入图片描述

思路与解法

class Solution {
public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(), wordDict.end());// dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。vector<bool> dp(s.size() + 1, false);dp[0] = true;for (int i = 1; i <= s.size(); i++) {   // 遍历背包for (int j = 0; j < i; j++) {       // 遍历物品string word = s.substr(j, i - j); //substr(起始位置,截取的个数)if (wordSet.find(word) != wordSet.end() && dp[j]) {dp[i] = true;}}}return dp[s.size()];}
};
http://www.dtcms.com/a/255005.html

相关文章:

  • FTTR+软路由网络拓扑方案
  • LVS vs Nginx 负载均衡对比:全面解析
  • 【分布式】基于Dubbo实现对远程调用接口的封装
  • 数据结构第八章(六)-置换选择排序和最佳归并树
  • 企业实践 | 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装指南
  • cusor资源管理器缩进调整与工具条竖着摆放
  • 电子制造智能化转型:MES如何解决工艺复杂、质量追溯与供应链协同
  • 如何使用postman做接口自动化测试?
  • 魅族“换血”出牌:手机基本盘站不稳,想靠AI和汽车“改命”
  • 使用 C++/OpenCV 构建中文 OCR 系统:实现账单、发票及 PDF 读取
  • OCR大模型,破解金融文档处理困境,从文字识别到文字理解
  • 《Go语言圣经》闭包
  • .Net Framework 4/C# 数据访问技术(ADO.NET)
  • 技术革新赋能楼宇自控:物联网云计算推动应用前景深度拓展
  • 云计算处理器选哪款?性能与能效的平衡艺术
  • keep-alive缓存文章列表案例完整代码(Vue3)
  • keep-alive缓存文章列表案例完整代码(Vue2)
  • 汽车整车厂如何用数字孪生系统打造“透明车间”
  • King’s LIMS 系统引领汽车检测实验室数字化转型
  • 【工具使用-VScode】VScode如何设置空格和tab键显示
  • JS API接入说明
  • 多模态能解决什么样的业务场景?
  • Python内存使用分析工具深度解析与实践指南(上篇)
  • 装饰器模式深度解析:Java设计模式实战指南与动态功能扩展最佳实践
  • 《Go语言圣经》函数值、匿名函数递归与可变参数
  • NVIDIA开源Fast-dLLM!解析分块KV缓存与置信度感知并行解码技术
  • (链表:哈希表 + 双向链表)146.LRU 缓存
  • React Native【实战范例】弹跳动画菜单导航
  • 基于微信小程序的美食点餐订餐系统
  • 【Dify学习笔记】:RagFlow接入Dify基础教程