120 Triangle

自底向上做dp,不需要额外开空间,直接复写数组就可以了

class Solution {
    public int minimumTotal(List<List<Integer>> triangle) {

        int l = triangle.size();
        if(l==0||triangle==null) return 0;
        if(l==1)return triangle.get(0).get(0);
        for(int i=l-2;i>=0;i--){
            for(int j=0;j<triangle.get(i).size();j++){
                int left= triangle.get(i+1).get(j);
                int right = triangle.get(i+1).get(j+1);
                int min = Math.min(left,right);
                int cur= triangle.get(i).get(j);
                triangle.get(i).set(j,cur+min);

            }
        }
        return triangle.get(0).get(0);

    }
}

results matching ""

    No results matching ""