5426. 重新規劃路線
題目
n 座城市,從 0 到 n-1 編號,其間共有 n-1 條路線。因此,要想在兩座不同城市之間旅行只有唯一一條路線可供選擇(路線網形成一顆樹)。去年,交通運輸部決定重新規劃路線,以改變交通擁堵的狀況。
路線用 connections 表示,其中 connections[i] = [a, b] 表示從城市 a 到 b 的一條有向路線。
今年,城市 0 將會舉辦一場大型比賽,很多遊客都想前往城市 0 。
請你幫助重新規劃路線方向,使每個城市都可以訪問城市 0 。返回需要變更方向的最小路線數。
樣例
- 栗子1
輸入:n = 6, connections = [[0,1],[1,3],[2,3],[4,0],[4,5]]
輸出:3
解釋:更改以紅色顯示的路線的方向,使每個城市都可以到達城市 0 。
- 栗子2
輸入:n = 5, connections = [[1,0],[1,2],[3,2],[3,4]]
輸出:2
解釋:更改以紅色顯示的路線的方向,使每個城市都可以到達城市 0 。
- 栗子3
輸入:n = 3, connections = [[1,0],[2,0]]
輸出:0
題解
其實我是用bfs做的,但是在處理資料的時候不會處理,前期用for迴圈依次,結果超時。 做到最後沒有時間了才想起用兩個陣列處理,但是已經沒有時間提交了。又是一題,腦殘。留下了沒有技術的眼淚。
int minReorder(int n, vector<vector<int>> &connections)
{
vector<bool> vis(n, false);
vector<vector<int>> reach(n, vector<int>());
vector<vector<int>> canReach(n, vector<int>());
for (int i = 0; i < connections.size(); i++)
{
reach[connections[i][0]].push_back(connections[i][1]);
canReach[connections[i][1]].push_back(connections[i][0]);
}
queue<int> q;
q.push(0);
int ret = 0;
vis[0] = true;
while (!q.empty())
{
int num = q.size();
for (int i = 0; i < num; i++)
{
int val = q.front();
q.pop();
for (int j = 0; j < reach[val].size(); j++)
{
if (vis[reach[val][j]] == false)
{
ret = ret + 1;
vis[reach[val][j]] = true;
q.push(reach[val][j]);
}
}
for (int j = 0; j < canReach[val].size(); j++)
{
if (vis[canReach[val][j]] == false)
{
vis[canReach[val][j]] = true;
q.push(canReach[val][j]);
}
}
}
}
return ret;
}
相關文章
- leetcode--重新規劃路線LeetCode
- LeetCode-5426、重新規劃路線-中等LeetCode
- Web前端找工作晉升路線規劃Web前端
- 路徑規劃: 淺談路徑規劃演算法演算法
- Linux再學習(一)-學習路線規劃Linux
- 程式設計師如何規劃職業路線?程式設計師
- matlab線性規劃Matlab
- 【精華】安卓開發學習路線規劃安卓
- 關於 線性規劃 非線性規劃 與 凸優化優化
- 【三維路徑規劃】基於RRT三維路徑規劃
- 企業無線網路裝置的未來規劃
- 動態規劃-----線性動態規劃
- Wireless_網路規劃
- 做題筆記——網路流與線性規劃24題筆記
- Web前端初學者應如何規劃學習路線呢?Web前端
- 零基礎java培訓如何規劃學習路線Java
- 大資料學習入門規劃?和學習路線大資料
- matlab求解非線性規劃Matlab
- UVA 10498 Happiness!(線性規劃)APP
- Java工程師如何做好職業規劃和成長路線?Java工程師
- 微信小程式 + 騰訊地圖SDK 實現路線規劃微信小程式地圖
- matlab求解線性規劃問題Matlab
- 動態規劃篇——線性DP動態規劃
- 路徑規劃之A*演算法演算法
- React 高德地圖 進京證 路線規劃 問題小記React地圖
- Paper Time|開放式時空大資料助力智慧公交路線規劃大資料
- 想問一下這樣規劃的學習路線可以嗎
- 機器人路徑規劃 A*與D*機器人路徑規劃演算法詳述機器人演算法
- 線性規劃模型複習總結模型
- Python求解線性規劃——PuLP使用教程PythonPulp
- Matlab解決線性規劃問題Matlab
- 遊戲AI研究(三):路徑規劃遊戲AI
- 簡單的路徑規劃案例分享
- 新人小白入行IT必備:程式設計師未來職業規劃路線程式設計師
- Java技術自學規劃(學習路線圖、書籍、視訊總結)Java
- 線性規劃單純形法精解
- 線性規劃對偶學習筆記筆記
- 網際網路分散式微服務雲平臺規劃分析--平臺整體規劃分散式微服務