輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。
一、第一種實現
這也是比較多人使用的一種演算法。
public
static
int bitcount(int i)
return
count;
}
二、第二種實現檢視integer類,發現其中提供了乙個bitcount介面,具體的實現如下:
/**
* returns the number of one-bits in the two's complement binary
* representation of the specified value. this function is
* sometimes referred to as the population count.
**@param i the value whose bits are to be counted
*@return the number of one-bits in the two's complement binary
* representation of the specified value.
*@since 1.5
*/public
static
intbitcount(int i)
三、進行效率比較。1、將0~99999這100000個資料作為測試用例,得到結果:
2、將0~299999這300000個資料作為測試用例,得到結果:
3、將0~499999這500000個資料作為測試用例,得到結果:
4、將0~999999這1000000個資料作為測試用例,得到結果:
5、將0~9999999這10000000個資料作為測試用例,得到結果:
6、將0~99999999這100000000個資料作為測試用例,得到結果:
7、將0~999999999這1000000000個資料作為測試用例,得到結果:
四、總結。
在少量的資料處理時,方法1的效率比方法2高一些。在資料量大於500000時,資料量越大,方法2(也就是integer提供的api)的優勢越明顯,它的執行時間很穩定,不會隨資料量的增大而發現較大改變。
Android 兩種方式實現類似水波擴散效果
兩種方式實現類似水波擴散效果,先上圖為敬 自定義view實現 動畫實現 思路分析 通過canvas畫圓,每次改變圓半徑和透明度,當半徑達到一定程度,再次從中心開始繪圓,達到不同層級的效果,通過不斷繪製達到view擴散效果 private paint centerpaint 中心圓paint priv...
Java多執行緒的簡單實現以及耗時操作的效率對比
public class threaddemo system.out.println 開始請求 singlethread command,executecount multithread command,executecount,100 單執行緒執行 param runnable run param...
兩種方式實現checkBox readonly功能
今天在做開發的時候遇到了這樣乙個問題 有乙個checkbox選項是不能被改變的。但是checkbox又是沒有readonly屬性的,這個時候我就想到了另外乙個屬性disabled,但是disabled的物件是不能提交到後台的,所以這個又被排除掉了。想了想,只能新增事件來搞定了。於是在checkbox...