有一个全局最大最小值时,一个循环之后要判断是否需要更新这个全局变量
免得写if else语句
minValue = Math.min(count, minValue);
Triangle的几种解法:
- traverse
因为每条路都要走,n行的三角形就有就有2(n-1)种路径。 - Divide Conquer
递归的定义,从x, y出发 走到最底下,最短的值是什么
往右走的值,往下走的值,选最小的加上本身,就是最短值
和1一样,都会走到最下面那层,所以时间复杂度和1一样,所有 路都走了一遍,这也是DFS的本质:找到所有路径 - Divide Conquer + Memorization
n层有(1+...+n)/2个点,每个点访问两次
nb之处是存下了该点到底的最小值,以后再次访问的时候直接返回,不再计算一遍(这个点会被访问两次的原因是,从上面访问一次,从左上再访问一次) - 多重循环
记录到每个点为止的最短路径,再比较最底层
要素们
-递归的定义:接受什么参数,做什么事,返回什么值
网友评论