leetcode 判斷是否為2的冪

2021-10-11 07:42:34 字數 643 閱讀 3159

/*

* 判斷給定數是否為2的冪。

* 1.判斷該數是否能被2整除,若不能整除,直接返回false,若能整除,再判斷最後除2的商是否等於1,若等於1,則返回true,否則返回false。

* 2.若乙個數是2的冪數,則它的二進位制表示只存在乙個1,且該1位於二進位制的最右邊。使用&運算,運算(x & (-x))則只保留x二進位制的最右邊的1。

* 比如:x = 6 的二進位制表示: 0000 0110

* -x 的二進位制表示:1111 1010

* x & -x 的二進位制表示:0000 0010

* 如果x是2的冪數,則(x & (-x))== x。

** */

public class ispoweroftwo

//判斷給定的數是否為2的冪

public boolean ispoweroftwo1(int n)

while(n % 2 == 0)

n = n/2;

return n == 1;

}//判斷給定的數是否為2的冪

public boolean ispoweroftwo2(int n)

return (n & (-n)) == n;

}}

Leetcode練習《十二》 判斷整數是否為回文

determine whether an integer is a palindrome.do this without extra space.判斷乙個整數是否是回文 不能使用新的空間 我的理解就是不能使用新的變數來儲存資料 思路很簡單 就是先取最高位 再取最低位 兩個比較是否相等 相等的話就接著...

判斷是否為陣列

在說明如何判斷乙個物件為陣列型別前,我們先鞏固下js的資料型別,js一共有六大資料型別 number string object boolean null undefined。除了前四個型別外,null 物件 陣列返回的都是object型別 對於函式型別返回的則是function,再比如typeof...

判斷是否為質數

程式接受兩個正整數的輸入,構成乙個閉區間,找出這個區間內的所有質數。判斷乙個數n是否為質數時,先對這個數開平方,隨後從2開始,迴圈到這個平行根,檢查其中的數能否整除數n,若能整除,則為合數,否則為質數。由於sqrt函式的返回值是double型別,為保證準確性 如sqrt 4 返回值可能是1.9999...