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

代码随想录算法训练营第三十八天| 322. 零钱兑换 279.完全平方数 139.单词拆分

代码随想录算法训练营第三十八天| 322. 零钱兑换 279.完全平方数 139.单词拆分

  • 322. 零钱兑换
  • 279.完全平方数
  • 139.单词拆分

入营第三十八天
难度:难

  • 计划任务
  • 完成任务

322. 零钱兑换

动态规划五部曲:
1.确定dp数组以及下标含义 dp[j]代表凑足金额为[j]的所需最少硬币个数
2.确定递推公式 dp[j] = min(dp[j-coins[i]+1,dp[j])
3.递推数组初始化 dp[0] = 0;
4.确定遍历顺序
5.举例推导递推公式

class Solution {public int coinChange(int[] coins, int amount) {int max = Integer.MAX_VALUE;int[] dp = new int[amount+1];for(int i=0;i<dp.length;i++){dp[i]=max;}dp[0]=0;for(int i=0;i<coins.length;i++){for(int j=coins[i];j<=amount;j++){if(dp[j-coins[i]]!=max){dp[j]=Math.min(dp[j],dp[j-coins[i]]+1);}}}return dp[amount] == max ? -1 : dp[amount];}
}

279.完全平方数

动态规划五部曲:
1.确定dp数组以及下标含义 dp[j]代表凑成n使用的最少完全平方数的个数
2.确定递推公式 dp[j]=Math.min(dp[j],dp[j-(i*i)]+1);
3.递推数组初始化
4.确定遍历顺序
5.举例推导递推公式

class Solution {public int numSquares(int n) {int[] dp = new int[n+1];int max = Integer.MAX_VALUE;for(int i=0;i<dp.length;i++){dp[i]=max;}dp[0]=0;for(int i=1;i*i<=n;i++){for(int j=i*i;j<=n;j++){dp[j]=Math.min(dp[j],dp[j-i*i]+1);}}return dp[n];}
}

139.单词拆分

题意转换:单词->物品 字符串->背包容量
判断条件是关键 substring方法都为小写
动态规划五部曲:
1.确定dp数组以及下标含义 dp[i] 代表字符串长度为i时,是否可以拆分成字典里面出现的单词(一个或多个)
2.确定递推公式 if(dp[j,i]==true && dp[j] == true) dp[i]=true
3.递推数组初始化
4.确定遍历顺序
5.举例推导递推公式

class Solution {public boolean wordBreak(String s, List<String> wordDict) {boolean[] dp = new boolean[s.length()+1];dp[0]=true;for(int i=1;i<=s.length();i++){for(String word:wordDict){int len = word.length();if(i>=len && dp[i-len] && word.equals(s.substring(i-len,i))){dp[i]=true;break;}}}return dp[s.length()];}
}
http://www.xdnf.cn/news/268.html

相关文章:

  • javaSE.类型擦除机制
  • k8s教程3:Kubernetes应用的部署和管理
  • Foundation Agent:深度赋能AI4DATA
  • 宿舍DIY迷你空调实施方案
  • 敏捷开发管理流程
  • Qt 创建QWidget的界面库(DLL)
  • 论坛测试报告
  • redis不要以root权限启动(linux)
  • c加加重点学习之day03
  • 仿腾讯会议项目开发——网络嵌入
  • 软件测试之接口测试详解
  • 开源AI守护每一杯------奶茶咖啡店视频安全系统的未来之力
  • SQL-子查询
  • iPaaS应用集成平台在交通运输行业有哪些应用场景
  • (51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)
  • 643SJBHflash个人网站
  • 【Python爬虫基础篇】--2.模块解析
  • AI时代的泛安全新范式:Kaamel安全智能体解决方案
  • 数据库被渗透怎么办?WAF能解决数据库安全问题吗?
  • 织梦DedeCMS首页列表页调用会员信息的SQL标签
  • 2025年人工智能指数报告(斯坦福)重点整理
  • 静态时序分析STA——8.2 时序检查(保持时间检查)
  • 第十四节:实战场景-何实现全局状态管理?
  • 【python】编码、输入、数据类型
  • CCF CSP 第36次(2024.12)(2_梦境巡查_C++)
  • 本地部署ai图片转生成视频,一键运行包的制作教程。
  • 调制器的噪声传递函数(NTF)的零极点配置对其性能的影响
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • C++11中的std::condition_variable
  • 深度学习中的概念——元素积(哈达玛积)