Skip to content

Commit 7adadbe

Browse files
committed
#218 & #230 & #239 solutions
1 parent 3ec367d commit 7adadbe

File tree

3 files changed

+84
-0
lines changed

3 files changed

+84
-0
lines changed

climbing-stairs/ys-han00.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int climbStairs(int n) {
4+
vector<int> fibo(46, 0);
5+
6+
fibo[1] = 1;
7+
fibo[2] = 2;
8+
9+
if(n <= 2)
10+
return fibo[n];
11+
12+
for(int i = 3; i <= n; i++)
13+
fibo[i] = fibo[i - 1] + fibo[i - 2];
14+
15+
return fibo[n];
16+
}
17+
};
18+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution {
2+
public:
3+
vector<int> productExceptSelf(vector<int>& nums) {
4+
int mul = 1, zero_cnt = 0;
5+
6+
for(int i = 0; i < nums.size(); i++) {
7+
if(nums[i] != 0)
8+
mul *= nums[i];
9+
else
10+
zero_cnt++;
11+
}
12+
13+
vector<int> ans = vector<int>(nums.size(), 0);
14+
15+
if(zero_cnt == 1) {
16+
for(int i = 0; i < nums.size(); i++) {
17+
if(nums[i] == 0) {
18+
ans[i] = mul;
19+
break;
20+
}
21+
}
22+
} else if(zero_cnt == 0) {
23+
for(int i = 0; i < nums.size(); i++)
24+
ans[i] = mul / nums[i];
25+
}
26+
27+
return ans;
28+
}
29+
};
30+

valid-anagram/ys-han00.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// class Solution {
2+
// public:
3+
// bool isAnagram(string s, string t) {
4+
// map<char, int> counter;
5+
6+
// for(int i = 0; i < s.size(); i++)
7+
// counter[s[i] - 'a']++;
8+
// for(int i = 0; i < t.size(); i++)
9+
// counter[t[i] - 'a']--;
10+
11+
// for(auto const& iter : counter)
12+
// if(iter.second != 0)
13+
// return false;
14+
15+
// return true;
16+
// }
17+
// };
18+
19+
class Solution {
20+
public:
21+
bool isAnagram(string s, string t) {
22+
vector<int> counter(26, 0);
23+
24+
for(int i = 0; i < s.size(); i++)
25+
counter[s[i] - 'a']++;
26+
for(int i = 0; i < t.size(); i++)
27+
counter[t[i] - 'a']--;
28+
29+
for(int i = 0; i < 26; i++)
30+
if(counter[i] != 0)
31+
return false;
32+
33+
return true;
34+
}
35+
};
36+

0 commit comments

Comments
 (0)