Skip to content

Commit 9d87f31

Browse files
committed
3, 4
1 parent 17355ad commit 9d87f31

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public:
3+
int longestConsecutive(vector<int>& nums) {
4+
if(nums.size() == 0) return 0;
5+
set<int> us{nums.begin(), nums.end()};
6+
int ret = 1;
7+
vector<int> vec(us.begin(), us.end());
8+
int prevNum = vec[0];
9+
int ret_candi = 1;
10+
for(int i = 1; i < vec.size(); i++){
11+
if(vec[i] - vec[i-1] == 1){
12+
ret_candi++;
13+
ret = max(ret, ret_candi);
14+
continue;
15+
} else {
16+
ret_candi = 1;
17+
continue;
18+
}
19+
}
20+
21+
return ret;
22+
}
23+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public:
3+
vector<int> topKFrequent(vector<int>& nums, int k) {
4+
// value, count
5+
unordered_map<int, int> um;
6+
for(auto& n : nums){
7+
um[n]++;
8+
}
9+
10+
//value, count
11+
vector<std::pair<int, int>> vec(um.begin(), um.end());
12+
sort(vec.begin(), vec.end(),
13+
[](const auto& a, const auto& b) { return a.second > b.second;});
14+
15+
vector<int> ret;
16+
for(int i=0; i< k; i++){
17+
ret.push_back(vec[i].first);
18+
}
19+
20+
return ret;
21+
}
22+
};

0 commit comments

Comments
 (0)