triangle

Posted mysunicey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了triangle相关的知识,希望对你有一定的参考价值。


Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.
For example, given the following triangle
[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]

The minimum path sum from top to bottom is11(i.e., 2 + 3 + 5 + 1 = 11).
Note: 
Bonus point if you are able to do this using only O(n) extra space, where n is the total number of rows in the triangle.
int minimumTotal(vector<vector<int> > &triangle) {
        int n = triangle.size();
        int res = 1e8;
        if(n==1)
        {
            res = triangle[0][0];
        }
        for(int i = 1; i < n;i++){
            for(int j = 0;j <= i;j++){
            if(j == 0){
               triangle[i][j] = triangle[i][j]+triangle[i-1][j]; 
            }else if(i == j){
               triangle[i][j] = triangle[i][j]+triangle[i-1][j-1];
            }
            else{
                triangle[i][j] = triangle[i][j]+min(triangle[i-1][j],triangle[i-1][j-1]);
            }
            if(i == n-1){
                res = min(res,triangle[i][j]);
            }
            }
        }
        return res;
    }

后退法:

 int minimumTotal(vector<vector<int> > &triangle) {
        
        int n = triangle.size();
        for(int i = n-2;i >= 0;i-- ){
            for(int j = 0;j<=i;j++){
                triangle[i][j] = triangle[i][j]+min(triangle[i+1][j],triangle[i+1][j+1]);
            }
        }
        return triangle[0][0];
    }

 

以上是关于triangle的主要内容,如果未能解决你的问题,请参考以下文章

120. Triangle

PaperImpl - A fast triangle-triangle intersection test

Pascal's Triangle II

GL_TRIANGLES 有效,但 GL_QUADS 不显示任何内容

GL_TRIANGLES 有效,但 GL_QUADS 不显示任何内容

118. Pascal's Triangle