We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d75317c commit 95d5f23Copy full SHA for 95d5f23
counting-bits/taekwon-dev.java
@@ -0,0 +1,19 @@
1
+/**
2
+ * 공간 복잡도: O(N)
3
+ * 시간 복잡도: O(N)
4
+ * - 만약 1 ~ N 까지 각 수에 대해서 이진수로 변환한 뒤 1의 개수를 카운트 했다면? - O(NlogN)
5
+ * Note:
6
+ * - a >> b: a 의 이진 표현을 오픈쪽으로 b 비트만큼 이동
7
+ * - i >> 1: a 의 이진 표현에서 가장 오픈쪽 하나가 잘림 (i는 양수 범위를 가지므로, 왼쪽은 0으로 채워짐)
8
+ * - a & b: AND 연산
9
+ * - i & 1: 이전 결과 값이 메모되어 있으므로, 내가 궁금한 것 가장 마지막 자리 수 값이 1인지 여부.
10
+ */
11
+class Solution {
12
+ public int[] countBits(int n) {
13
+ int[] result = new int[n + 1];
14
+ for (int i = 1; i <= n; i++) {
15
+ result[i] = result[i >> 1] + (i & 1);
16
+ }
17
+ return result;
18
19
+}
0 commit comments