Skip to content

Commit f2a914e

Browse files
committed
commit
1 parent 0c50ee3 commit f2a914e

File tree

5 files changed

+148
-0
lines changed

5 files changed

+148
-0
lines changed

contains-duplicate/haung921209.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
3+
# cpp stl
4+
```cpp
5+
class Solution {
6+
public:
7+
bool containsDuplicate(vector<int>& nums) {
8+
set<int> numSet(nums.begin(), nums.end());
9+
return numSet.size() != nums.size();
10+
}
11+
};
12+
```
13+
14+
```cpp
15+
class Solution {
16+
public:
17+
bool containsDuplicate(vector<int>& nums) {
18+
sort(nums.begin(), nums.end());
19+
for(int i=0;i<nums.size()-1;i++){
20+
if(nums[i]==nums[i+1]){
21+
return true;
22+
}
23+
}
24+
return false;
25+
}
26+
};
27+
```
28+
29+
30+

house-robber/haung921209.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
```cpp
3+
class Solution {
4+
public:
5+
int rob(vector<int>& nums) {
6+
if(nums.size()==1)
7+
return nums[0];
8+
9+
int res = max(nums[0], nums[1]);
10+
vector<int> sav(nums.size(), 0);
11+
sav[0] = nums[0];
12+
sav[1] = res;
13+
for(int i=2;i<nums.size();i++){
14+
sav[i] = max(sav[i-1], sav[i-2]+nums[i]);
15+
res = max(res, sav[i]);
16+
}
17+
return res;
18+
}
19+
};
20+
```
21+
22+
- 1차원 dp
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
```cpp
2+
class Solution {
3+
public:
4+
int longestConsecutive(vector<int>& nums) {
5+
if(nums.size()<=1){
6+
return nums.size();
7+
}
8+
priority_queue<int> pq(nums.begin(), nums.end());
9+
int cnt = 1;
10+
int maxCnt = 1;
11+
int before = pq.top();pq.pop();
12+
while(pq.size()>0){
13+
int cur = pq.top(); pq.pop();
14+
if(before-cur ==1){
15+
cnt++;
16+
maxCnt = max(maxCnt, cnt);
17+
}else if(before==cur){
18+
continue;
19+
}else{
20+
maxCnt = max(maxCnt, cnt);
21+
cnt=1;
22+
}
23+
before = cur;
24+
}
25+
26+
return maxCnt;
27+
}
28+
};
29+
```
30+
31+
- 순서 유지 조건 없음
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
```cpp
2+
class Solution {
3+
public:
4+
vector<int> topKFrequent(vector<int>& nums, int k) {
5+
unordered_map<int, int> freqCntMp;
6+
vector<vector<int>> v(nums.size()+1, vector<int>());
7+
int maxSize = 0;
8+
for(int i=0;i<nums.size();i++){
9+
freqCntMp[nums[i]]+=1;
10+
v[freqCntMp[nums[i]]].push_back(nums[i]);
11+
if(maxSize<freqCntMp[nums[i]])
12+
maxSize = freqCntMp[nums[i]];
13+
}
14+
for(int idx = maxSize;idx>0;idx--){
15+
if(v[idx].size()==k){
16+
return v[idx];
17+
}
18+
}
19+
return vector<int>();
20+
}
21+
};
22+
```

two-sum/haung921209.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## 단순 순회
2+
```cpp
3+
class Solution {
4+
public:
5+
vector<int> twoSum(vector<int>& nums, int target) {
6+
int i=0,j=1;
7+
for(i=0;i<j;i++){
8+
for(j=i+1;j<nums.size();j++){
9+
if(nums[i]+nums[j]==target){
10+
return {i, j};
11+
}
12+
}
13+
}
14+
return {0, 1};
15+
16+
}
17+
};
18+
```
19+
20+
- O(n^2)
21+
22+
23+
## stl 사용
24+
25+
```cpp
26+
class Solution {
27+
public:
28+
vector<int> twoSum(vector<int>& nums, int target) {
29+
unordered_map<int, int> valIdxMap;
30+
31+
for(int idx=0;idx<nums.size();idx++){
32+
if(valIdxMap.find(target-nums[idx]) != valIdxMap.end()){
33+
return {idx, valIdxMap[target-nums[idx]]};
34+
}
35+
valIdxMap[nums[idx]] = idx;
36+
37+
}
38+
return {0, 1};
39+
40+
}
41+
};
42+
```
43+
- O(nlogn)

0 commit comments

Comments
 (0)