
交換數(shù)字題目描述編寫(xiě)一個(gè)函數(shù)不用臨時(shí)變量直接交換numbers [a, b]中a與b的值。解題思路直接swap即可。位1的個(gè)數(shù)題目描述編寫(xiě)一個(gè)函數(shù)輸入是一個(gè)無(wú)符號(hào)整數(shù)以二進(jìn)制串的形式返回其二進(jìn)制表達(dá)式中數(shù)字位數(shù)為 1 的個(gè)數(shù)也被稱(chēng)為 漢明重量).。解題思路可以直接用右移每次右移一位再和1進(jìn)行位于運(yùn)算如果為真cnt第二種用Brian Kernighan 算法 關(guān)鍵步驟在 n (n-1)這樣可以快速統(tǒng)計(jì)n中1的個(gè)數(shù)。也可以用.count()專(zhuān)門(mén)用來(lái)統(tǒng)計(jì)二進(jìn)制數(shù)中的1的個(gè)數(shù)。偏藍(lán)題目描述小藍(lán)特別喜歡藍(lán)色。最近小藍(lán)學(xué)習(xí)了顏色在計(jì)算機(jī)中的一種表示方法用三個(gè) 0 至 255 之間的整數(shù)包含 0 和 255分別表示顏色的紅、綠、藍(lán)三個(gè)分量。在這種顏色的表示方法下小藍(lán)定義了一種顏色是偏藍(lán)的是指藍(lán)色分量大于紅色分量且藍(lán)色分量大于綠色分量。例如紅、綠、藍(lán)分別為 10、10、11 時(shí)是偏藍(lán)的紅、綠、藍(lán)分別為 100、200、200 時(shí)不是偏藍(lán)的。小藍(lán)想知道有多少種不同的顏色是偏藍(lán)的。兩種顏色如果在紅、綠、藍(lán)中至少有一個(gè)分量值不同就認(rèn)為是不同的。解題思路可以直接三層for循環(huán)暴力解當(dāng)固定藍(lán)色分量為BB256)時(shí),R和G必須滿(mǎn)足 RG B; 則有B * B種并且從0到256求和即可。確定翻轉(zhuǎn)的位數(shù)題目描述實(shí)現(xiàn)一個(gè)算法確定將一個(gè)二進(jìn)制整數(shù)翻轉(zhuǎn)為另一個(gè)二進(jìn)制整數(shù)需要翻轉(zhuǎn)的位數(shù)。介紹如下例如將 11101 翻轉(zhuǎn)為 00111需要翻轉(zhuǎn)的位置為第 12 和 4 位置則需要翻轉(zhuǎn)的位數(shù)為 3。解題思路接收的時(shí)候用string然后用bitset100 b1(s1) 將s1轉(zhuǎn)為二進(jìn)制數(shù)b1然后用異或^求出兩個(gè)數(shù)之間不同的個(gè)數(shù)也就是1然后用.count()統(tǒng)計(jì)二進(jìn)制數(shù)中1的個(gè)數(shù)。這個(gè)主要涉及到進(jìn)制轉(zhuǎn)換要用bitset name(需要轉(zhuǎn)換的數(shù)字或字符串) 還涉及到一個(gè)成員函數(shù).count(),是用來(lái)統(tǒng)計(jì)二進(jìn)制數(shù)字中1的個(gè)數(shù)??s位求和題目描述請(qǐng)你寫(xiě)一個(gè)計(jì)算機(jī)程序?qū)o定的字符串逐位求和。解題思路暴力點(diǎn)就是直接循環(huán)字符串s然后求每一位的和sum然后再使用s to_string(sum)繼續(xù)求最終返回s即可s必定是長(zhǎng)度為1的字符串。