算法題

1酌壕、求二進制數(shù)字中1的個數(shù)

自帶庫 (binary_num).count('1')

def num_of_one(num):
    '''
    bin():convert the num to binary string
    '''
    if num >= 0:
        nbin = bin(num)
        return nbin.count('1')
    else:
        num = abs(num)
        nbin = bin(num-1)
        return 32 - nbin.count('1')

按位運算符有:左移運算符(<<),右移運算符(>>),按位與(&)歇由,按位或(|)卵牍,按位翻轉(~),
異或運算(^)
沦泌。這些運算符中只有按位翻轉運算符是單目運算符糊昙,其他的都是雙目運算符。
3<<2 解法:11向左移動兩位變?yōu)?100,即12
~3 :3的二進制是11, -(11+1)=-100B=-4D. (注:B和D分別表示二進制和十進制).解法: - (-10+1) =1

鏈接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8來源:判磺客網(wǎng)**絕對最佳答案及分析:**
public class Solution {
    public int NumberOf1(int n) {
        int count = 0;
        while(n!= 0){
            count++;
            n = n & (n - 1);
         }
        return count;
    }
}
 **答案正確:恭喜释牺!您提交的程序通過了所有的測試用例** 
 **分析一下代碼:**   **這段小小的代碼,很是巧妙回挽。** 
 **如果一個整數(shù)不為0没咙,那么這個整數(shù)至少有一位是1。如果我們把這個整數(shù)減1千劈,那么原來處在整數(shù)最右邊的1就會變?yōu)?祭刚,原來在1后面的所有的0都會變成1(如果最右邊的1后面還有0的話)。其余所有位將不會受到影響墙牌。** 
 **舉個例子:一個二進制數(shù)1100涡驮,從右邊數(shù)起第三位是處于最右邊的一個1。減去1后喜滨,第三位變成0捉捅,它后面的兩位0變成了1,而前面的1保持不變虽风,因此得到的結果是1011.我們發(fā)現(xiàn)減1的結果是把最右邊的一個1開始的所有位都取反了棒口。這個時候如果我們再把原來的整數(shù)和減去1之后的結果做與運算寄月,從原來整數(shù)最右邊一個1那一位開始所有位都會變成0。如1100&1011=1000.也就是說无牵,把一個整數(shù)減去1剥懒,再和原整數(shù)做與運算,會把該整數(shù)最右邊一個1變成0.那么一個整數(shù)的二進制有多少個1合敦,就可以進行多少次這樣的操作。**

2验游、不通過第三變量進行兩個變量互換

a = 3 #11
b = 8 #1000
a = a^b  # a = 1011  b = 11
b = b^a  # a = 1011  b = 1000
a = a^b  # a = 11

3充岛、一個文本文件,大約有一萬行耕蝉,每行一個詞崔梗,要求統(tǒng)計出其中最頻繁出現(xiàn)的前10個詞,請給出思想垒在,給出時間復雜度分析蒜魄。

http://dataunion.org/21517.html
方案1:這題是考慮時間效率。用trie樹統(tǒng)計每個詞出現(xiàn)的次數(shù)场躯,時間復雜度是 O(nle)(le表示單詞的平準長度)谈为。然后是找出出現(xiàn)最頻繁的前10個詞,可以用堆來實現(xiàn)踢关,前面的題中已經(jīng)講到了伞鲫,時間復雜度是 O(nlg10)。所以總的時間復雜度签舞,是O(nle)與O(nlg10)中較大的哪一個秕脓。
附、100w個數(shù)中找出最大的100個數(shù)儒搭。
方案1:在前面的題中吠架,我們已經(jīng)提到了,用一個含100個元素的最小堆完成搂鲫。復雜度為O(100wlg100)傍药。
方案2:采用快速排序的思想,每次分割之后只考慮比軸大的一部分默穴,知道比軸大的一部分在比100多的時候怔檩,采用傳統(tǒng)排序算法排序,取前100個蓄诽。復雜度為O(100w
100)薛训。
方案3:采用局部淘汰法。選取前100個元素仑氛,并排序乙埃,記為序列L闸英。然后一次掃描 剩余的元素x,與排好序的100個元素中最小的元素比介袜,如果比這個最小的要大甫何,那么把這個最小的元素刪除,并把x利用插入排序的思想遇伞,插入到序列L中辙喂。依 次循環(huán),知道掃描了所有的元素鸠珠。復雜度為O(100w*100)巍耗。

4、3次稱出12球中重量不同的一個球的解答

解法第一次必須分為三組渐排。
A = 8, B =4
第一次稱量:A組二分稱量
情況1:若相等則在B中炬太,從B中拿出3個,再從A中拿出3個稱量驯耻,若相當亲族,則球為剩的一個。
若不等可缚,則知道該球是重還是輕霎迫,假設為重。從3個球中取兩個球帘靡,稱量女气。若相等則球為剩余那個,若不等测柠,則重的即是所求球炼鞠。

情況2:若第一次不等,記錄兩側輕重轰胁,
設為C組D組谒主,C重D輕
稱量C1,C2,C3,D1===C4,正常3個球
若左重右輕,球在C1C2C3中
若右重左輕赃阀,球為C4

第三次稱量同情況1

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霎肯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子榛斯,更是在濱河造成了極大的恐慌观游,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驮俗,死亡現(xiàn)場離奇詭異懂缕,居然都是意外死亡,警方通過查閱死者的電腦和手機王凑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門搪柑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來聋丝,“玉大人,你說我怎么就攤上這事工碾∪跄溃” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵渊额,是天一觀的道長况木。 經(jīng)常有香客問我,道長旬迹,這世上最難降的妖魔是什么焦读? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮舱权,結果婚禮上,老公的妹妹穿的比我還像新娘仑嗅。我一直安慰自己宴倍,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布仓技。 她就那樣靜靜地躺著鸵贬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脖捻。 梳的紋絲不亂的頭發(fā)上阔逼,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音地沮,去河邊找鬼嗜浮。 笑死,一個胖子當著我的面吹牛摩疑,可吹牛的內(nèi)容都是我干的危融。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼雷袋,長吁一口氣:“原來是場噩夢啊……” “哼吉殃!你這毒婦竟也來了?” 一聲冷哼從身側響起楷怒,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛋勺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鸠删,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抱完,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年刃泡,在試婚紗的時候發(fā)現(xiàn)自己被綠了乾蛤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片每界。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖家卖,靈堂內(nèi)的尸體忽然破棺而出眨层,到底是詐尸還是另有隱情,我是刑警寧澤上荡,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布趴樱,位于F島的核電站,受9級特大地震影響酪捡,放射性物質發(fā)生泄漏叁征。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一逛薇、第九天 我趴在偏房一處隱蔽的房頂上張望捺疼。 院中可真熱鬧,春花似錦永罚、人聲如沸啤呼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽官扣。三九已至,卻和暖如春羞福,著一層夾襖步出監(jiān)牢的瞬間惕蹄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工治专, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卖陵,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓张峰,卻偏偏與公主長得像赶促,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挟炬,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容