Skip to content

Commit d3bab0e

Browse files
authored
Merge pull request #1999 from Hong-Study/main
[Hong-Study] WEEK 01 solutions
2 parents fa42511 + 6bdb8a9 commit d3bab0e

File tree

4 files changed

+84
-0
lines changed

4 files changed

+84
-0
lines changed

contains-duplicate/Hong-Study.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public:
3+
bool containsDuplicate(vector<int>& nums) {
4+
std::unordered_map<int, int> map;
5+
for(const auto& num: nums){
6+
if(map.find(num) != map.end()){
7+
return true;
8+
}
9+
10+
map[num] = 1;
11+
}
12+
13+
return false;
14+
}
15+
};
16+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution {
2+
public:
3+
int longestConsecutive(vector<int>& nums) {
4+
std::set<int> sorts{nums.begin(), nums.end()};
5+
6+
// 개선 필요...
7+
int maxSequence = 0, sequence = 0, i = -1;
8+
for (const auto& num : sorts) {
9+
if (sorts.find(num + 1) != sorts.end()) {
10+
sequence += 1;
11+
} else {
12+
maxSequence = std::max(maxSequence, sequence + 1);
13+
sequence = 0;
14+
}
15+
}
16+
17+
return maxSequence;
18+
}
19+
};
20+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Solution {
2+
public:
3+
vector<int> topKFrequent(vector<int>& nums, int k) {
4+
std::unordered_map<int, int> maps;
5+
for (const auto num : nums) {
6+
if (maps.find(num) == maps.end())
7+
maps[num] = 0;
8+
maps[num] += 1;
9+
}
10+
11+
std::vector<std::pair<int, int>> sorts{maps.begin(), maps.end()};
12+
sort(sorts.begin(), sorts.end(),
13+
[](std::pair<int, int> a, std::pair<int, int> b) {
14+
return a.second > b.second;
15+
});
16+
17+
std::vector<int> result;
18+
int i = 0;
19+
for (const auto m : sorts) {
20+
result.push_back(m.first);
21+
i++;
22+
if (i == k)
23+
break;
24+
}
25+
26+
return result;
27+
}
28+
};
29+

two-sum/Hong-Study.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public:
3+
vector<int> twoSum(vector<int>& nums, int target) {
4+
std::map<int, int> numMap;
5+
for (int i = 0; i < nums.size(); i++) {
6+
int leftNum = target - nums[i];
7+
if (numMap.find(leftNum) == numMap.end()) {
8+
numMap[nums[i]] = i;
9+
continue;
10+
}
11+
12+
int idx = numMap[leftNum];
13+
return std::vector<int>{idx, i};
14+
}
15+
16+
return std::vector<int>{0, 0};
17+
}
18+
};
19+

0 commit comments

Comments
 (0)