<Dynamic Programming> 120 279
2024-09-09 10:00:14
120. Triangle
从倒数第二行找,然后逐个遍历这个DP数组,对于每个数字,和它之后的元素比较选择较小的再加上面一行相邻位置的元素做为新的元素,然后一层一层的向上扫描
class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
if(triangle.size() == 0 || triangle == null) return 0;
int rows = triangle.size();
int[] dp = new int[rows + 1];
for(int i = rows - 1; i >= 0 ; i--){
for(int j = 0; j <= i; j++){
dp[j] = Math.min(dp[j], dp[j + 1]) + triangle.get(i).get(j);
}
}
return dp[0];
}
}
279. Perfect Squares
class Solution {
public int numSquares(int n) {
int[] dp = new int[n + 1];
Arrays.fill(dp, Integer.MAX_VALUE);
dp[0] = 0;
for(int i = 1; i <= n; i++){
for(int j = 1; j * j <= i; j++){
dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
}
}
return dp[n];
}
}
最新文章
- 【原】iOS动态性(四):一行代码实现iOS序列化与反序列化(runtime)
- 关于Java中null的十点详解
- MTK 常见的编译命令
- 2.servlet的会话机制session
- RabbitMQ 安装
- js 中 typeof 的使用
- CSLA的项目结构(一)
- WPF 渐隐渐现切换背景图片
- VS2013 MVC Web项目使用内置的IISExpress支持局域网内部机器(手机、PC)访问、调试
- VC提交网页表单(一共八篇)
- Psychos in a Line
- centos7/redhat7 将网卡名字改成eth样式的方法
- Windows下与Linux下编写socket程序的区别 《转载》
- Block formatting context
- hdu 2188 选拔志愿者(sg博弈)
- Ubuntu下安装Anaconda和tensorflow
- 移动端Web资源整合
- [LeetCode] Asteroid Collision 行星碰撞
- Leetcode_67_Add Binary
- wtf!rds数据同步居然出问题了--菜鸟db的数据修复历程