解題思路:
(1)將輸入的路徑按照起點值的大小排序:如測試用例1中排序完後應該是
1 2
4 7
5 8
(2)依次計算每段路徑的長度,且要判斷是否與前面的路徑發生重疊,如果發生重疊,則以當前路徑的終點減去上一段路徑的終點;如果沒有重疊時,則以當前路徑的終點減去當前路徑的起點;即以當前路徑的終點減去二者之間的最大值(上一段路徑的終點和當前路徑的起點)
#include
#include
#include
using
namespace
std;
struct node
};//自定義運算子函式:按照第一列數字小的優先排序
struct cmp
};int distancecovered(int num, int **arr)
int count = arr[0][1] - arr[0][0];//第一條路徑無需判斷重疊,因此直接計算
while(!minque.empty())
}return count;
}int main()
for(int i=0;icin>>arr[i][0]>>arr[i][1];
}cout
0;}
輸出青蛙跳台所有路徑
常見的一道演算法題 乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。解法我想很多人一想應該就知道,可以遞迴的思路,動態規劃的思路等,如下,重點不在這裡,不在詳述 遞迴 public static int frogjumps 1 int n 帶備忘錄的...
二元樹中找出和為某一值的所有路徑
在二元樹中找出和為某一值的所有路徑 題目 輸入乙個整數和一棵二元樹。從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。列印出和與輸入整數相等的所有路徑。例如輸入整數22 和如下二元樹 10 5 12 4 7 則列印出兩條路徑 10,12 和10,5,7。include include...
二叉樹的所有路徑
一 問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 二 解題思路 運用遞迴的思想查詢二叉樹的所有路徑,定義乙個向量用來儲存路徑,然後運用前序遍歷二叉樹,返回查詢的的路徑,在庫檔案string中,to str...