カメラ
2836 ワード
カメラ
まず区間を昇順に並べ,まだ重複していない区間については,前からできるだけ多く重ね,答えを1に増やした.
このとき、重なるたびに左と右が変わり、更新が必要になります.
コードは次のとおりです.
まず区間を昇順に並べ,まだ重複していない区間については,前からできるだけ多く重ね,答えを1に増やした.
このとき、重なるたびに左と右が変わり、更新が必要になります.
コードは次のとおりです.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> routes) {
int answer = 0;
sort(routes.begin(), routes.end());
vector<int> visited(routes.size(), 0);
for(int i=0;i<routes.size();i++) {
if(visited[i])
continue;
answer++;
int l = routes[i][0];
int r = routes[i][1];
for(int j=0;j<routes.size();j++) {
if(visited[j])
continue;
if(routes[j][1] < l || routes[j][0] > r)
continue;
l = max(l, routes[j][0]);
r = min(r, routes[j][1]);
visited[j] = 1;
}
}
return answer;
}
Reference
この問題について(カメラ), 我々は、より多くの情報をここで見つけました https://velog.io/@gkak1121/프로그래머스-단속카메라テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol