判斷整數 n 是否為 2 的冪次方(即 n = 2^k, k≥0)。
2 的冪在二進制中只有最高位為 1,其餘為 0。因此 n & (n-1) == 0 且 n > 0 即為充要條件。例如 8=1000, 7=0111,& 結果為 0。
n & (n-1) == 0
n > 0
public boolean isPowerOfTwo(int n) { return n > 0 && ((n & (n - 1)) == 0); }
常數時間 O(1),常數空間 O(1)。
Windows Vista 引入的桌面窗口管理器(DWM)帶
問題描述 農夫約翰為了防止食蟻獸入侵農場,決定在農場周圍挖掘
SetWindowRgn 改變視窗形狀 預設視窗為矩形,呼叫
定義與性質 二叉排序樹(BST)或為空樹,或滿足:左子樹鍵值