Triangle
//DFS超时了。
void dfs(vector<vector<int> > &triangle, int depth, int offset,int curSum,int &min) { if(depth==triangle.size()) { if(min>curSum) min = curSum; return; } curSum += triangle[depth][offset]; dfs(triangle,depth+1,offset,curSum,min); dfs(triangle,depth+1,offset+1,curSum,min); curSum -= triangle[depth][offset]; return; } int minimumTotal(vector<vector<int> > &triangle) { // Start typing your C/C++ solution below // DO NOT write int main() function int min = INT_MAX; dfs(triangle,0,0,0,min); return min; }