位統計法的應用

2021-06-30 16:21:53 字數 543 閱讀 3950

題目描述:在一堆正整數中,有乙個數恰好出現了b次,而其他的數均出現了a次,一共n個數,求出那出現b次的數,資料保證有解,設題目的輸入為:第一行3個正整數,n,a,b(b

分析:採用位統計法解決此類問題。所有數的大小都在int範圍內,所以數字的長度不超過10位,開乙個10*10的二維陣列,用來統計,所有數字中出現在從第一位(個位)到第10位每一位上0~9這個10個數字每個數字出現的次數。

由於只有乙個數出現了b次,其他數都出現了a次,因此而且bint main()

; int i,j;

for(i=0;i47)

cnt[j++][ch-48]++; //這條語句具有一定的技巧性,直接得到數字的統計數量

} //輸入結束後,即可得到所有數字各個位上數字之和。

for(i=0;i<10;i++)

for(j=0;j<10;j++)

printf("\n");

}

測試 

輸入:10  4  2

55 67 55 67 67 76 76 67 76 76

輸出:

時間統計法

時間管理1 1 時間在前,計畫在後 2.日期,事件,用時 3.記錄資料 每週每月每年或每5年記錄資料事件 1.整理分析 工作 和 休息 工作 中心工作 附加工作 社會工作 休息 睡覺和 玩耍 智慧型優化智慧型優解 決策是用時間管理形成自己的行為準則 1.不承擔必須完成的任務 工作 2.不接受緊急任務...

標誌位的位運算應用

今天設計新版標誌位,老郭提出了乙個新的方案。以往都是乙個字段設定乙個狀態,tinyint型別,0或者1,但是這樣的壞處是如果乙個資訊表有很多狀態,需要增加很多的字段,空間利用不好,所以他提出用二進位制位運算來解決標示位的問題。設定標示位字段位tinyint型別,也就是最大128,換成二進位制就是有8...

位運算的應用

1.對特定位清0 mask中的特定位為0,其餘位為1。s s mask 2.取某數中的指定位 mask特定位置1,其餘位0。常用來將源運算元某些位置1,其餘位不變 mask特定位置為1,其餘位為0。1.使特定位取反 mask特定位置1,其餘位為0 2.不引用第三方變數,交換值 a a b b a b...