Skip to content

Commit a1325de

Browse files
committed
feat: coin-change solve
1 parent 70c9b19 commit a1325de

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

β€Žcoin-change/haxr369.javaβ€Ž

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import java.util.ArrayList;
2+
import java.util.Arrays;
3+
import java.util.HashSet;
4+
import java.util.List;
5+
import java.util.Set;
6+
7+
class Solution {
8+
9+
/**
10+
* μ€‘λ³΅μˆœμ—΄μ„ κ΅¬ν•˜λŠ” 뢀뢄은 2번 풀이와 λ™μΌν•˜μ§€λ§Œ,
11+
* 후보배열을 μ •λ ¬ν•˜κ³ , 후보 선택 μ‹œ 이전 κ°’κ³Ό κ°™κ±°λ‚˜ 큰 ν›„λ³΄λ§Œμ„ μ„ νƒν•˜κΈ°μ—
12+
* 동일 μš”μ†Œκ°€ μ‘΄μž¬ν•˜λŠ” 배열을 μ€‘λ³΅ν•΄μ„œ λ§Œλ“€μ§€ μ•ŠμŒ.
13+
* λ˜ν•œ Set 같은 μ €μž₯μœ„μΉ˜λ₯Ό μ œκ±°ν•΄μ„œ λ©”λͺ¨λ¦¬ μ΅œμ ν™”.
14+
*
15+
* Runtime: 5 ms (Beats 8.49%)
16+
* Memory: 45.77 MB (Beats 16.78%)
17+
* Space Complexity: O(N)
18+
* - μ‚¬μš©λœ 후보λ₯Ό μ €μž₯ν•˜λŠ” λ°°μ—΄ O(N)
19+
* > O(N)
20+
* Time Complexity: O(2^N/N!)
21+
* - 후보 ν•˜λ‚˜λ₯Ό μ„ νƒν•΄μ„œ targetκ³Ό 비ꡐ => O(2^N)
22+
* - target이 0이 λ˜κ±°λ‚˜ λˆ„μ  값이 더 컀질 λ•ŒκΉŒμ§€ μŠ€νƒμ„ μŒ“κΈ°
23+
* - μ΅œλŒ€ λˆ„μ ν•  수 μžˆλŠ” νšŸμˆ˜λŠ” 40 / 2 = 20회 => O(20) = O(M)
24+
* - λ‹€λ§Œ, 쀑볡배열 생성을 λ°©μ§€ν•˜λŠ” νŠΈλ¦­μ„ 좔가함 O(1/N!)
25+
* > O(2^N/N!)
26+
*
27+
* @param candidates
28+
* @param target
29+
* @return
30+
*/
31+
public List<List<Integer>> combinationSum(int[] candidates, int target) {
32+
33+
return ans;
34+
}
35+
36+
}

0 commit comments

Comments
Β (0)