[leetcode]The K Weakest Rows in a Matrix
7337 단어 Binary SearcharrayBinary Search
유의할점
compare 함수에 static이 들어가야함
풀이
binary search로 soldier의 수를 구하고 비교
코드
C++
class Solution {
public:
static bool compare(pair<int,int> &a, pair<int,int> &b){
if(a.first != b.first)
return a.first < b.first;
return a.second < b.second;
}
vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {
int n = mat[0].size();
vector< pair<int,int> > tmp;
for(int i = 0 ; i < mat.size(); i++){
int soldierN = n - (lower_bound(mat[i].rbegin(),mat[i].rend(),1) - mat[i].rbegin());
tmp.push_back({soldierN,i});
}
sort(tmp.begin(),tmp.end(),compare);
vector<int> res;
for(int i = 0; i < k ; i++)
res.push_back(tmp[i].second);
return res;
}
};
Author And Source
이 문제에 관하여([leetcode]The K Weakest Rows in a Matrix), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@6047198844/leetcodeThe-K-Weakest-Rows-in-a-Matrix저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)