0
我想使用迭代過程將小數轉換爲二進制數。我怎樣才能讓這個空間複雜度爲O(1)而不是O(n)?如何使這個空間複雜度爲O(1)而不是O(n)?
int i = 0;
int j;
int bin[] = new int[n]; //n here is my paramater int n
while(n > 0) {
bin[i] = n % 2;
n /= 2;
i++;
}
//I'm reversing the order of index i with variable j to get right order (e.g. 26 has 11010, instead of 01011)
for(j = i -1; j >= 0; j--) {
System.out.print(bin[j]);
}
對位運算符,和一般的位操作(或「位擺弄」)讀了。 – m69