Skip to content

Commit 34084b4

Browse files
authored
Merge pull request #1767 from s0ooo0k/main
2 parents b56f126 + bbabf69 commit 34084b4

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

climbing-stairs/s0ooo0k.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution {
2+
/*
3+
* 시간복잡도 O(n)
4+
* 공간복잡도 O(n)
5+
*/
6+
public int climbStairs(int n) {
7+
int[] piv = new int[n+1];
8+
piv[0]=1;
9+
piv[1]=2;
10+
11+
for(int i=2; i<n; i++) {
12+
piv[i]=piv[i-1]+piv[i-2];
13+
}
14+
return piv[n-1];
15+
}
16+
}
17+

valid-anagram/s0ooo0k.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
/*
3+
* 초반 풀이시 단순 s의 문자가 t에 포함하는지만 확인하여 제대로된 비교를 못함 (ex "sass" vs "saas")
4+
* 따라서 정렬 후 비교하는 방식으로 전환
5+
*
6+
* 시간복잡도 O(n log n)
7+
* 공간복잡도 O(n)
8+
*/
9+
public boolean isAnagram(String s, String t) {
10+
11+
if(s.length() != t.length())
12+
return false;
13+
14+
char[] chr1 = s.toCharArray();
15+
char[] chr2 = t.toCharArray();
16+
17+
Arrays.sort(chr1);
18+
Arrays.sort(chr2);
19+
20+
return Arrays.equals(chr1, chr2);
21+
}
22+
}
23+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* 시간복잡도 : O(n)
3+
*/
4+
5+
class Solution {
6+
public boolean isValidBST(TreeNode root) {
7+
return valid(root, Long.MIN_VALUE, Long.MAX_VALUE);
8+
}
9+
private boolean valid(TreeNode node, long min, long max) {
10+
if(node==null) return true;
11+
if(node.val <= min || node.val >=max) return false;
12+
return valid(node.left, min, node.val) && valid(node.right, node.val, max);
13+
}
14+
}
15+

0 commit comments

Comments
 (0)