博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
120. Triangle
阅读量:5285 次
发布时间:2019-06-14

本文共 964 字,大约阅读时间需要 3 分钟。

从下面往上 可以建立一个cache 这个点往下search过已经知道最小值了 下一次访问的时候就可以直接取值, 因为一般一个点都会被上面访问两次,如果不这样就会time limit错误

 

 

1 class Solution { 2     public int minimumTotal(List
> triangle) { 3 if(triangle == null) return 0; 4 Integer[][] cache = new Integer[triangle.size()][triangle.size()]; 5 return backtrack(triangle, 0, 0, cache); 6 7 } 8 9 public int backtrack(List
> triangle, int level, int index, Integer[][] cache) {10 if(level+1 >= triangle.size()) {11 return triangle.get(level).get(index); 12 } 13 if( cache[level][index] != null) return cache[level][index];14 return cache[level][index] = triangle.get(level).get(index) + Math.min(backtrack(triangle, level+1, index, cache), backtrack(triangle, level+1, index+1, cache)); 15 16 17 18 }19 }

 

转载于:https://www.cnblogs.com/goPanama/p/9691633.html

你可能感兴趣的文章
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>