思路:
1、引入乙個hash陣列來對應字串字元和數量
2、統計超市已有的各個顏色數量
3、根據要求的各顏色數量,判斷是否符合條件以及缺少多少
#include
#include
#include
#include
using
namespace
std;
int main()
; scanf("%s%s",s1,s2);
int n1 = strlen(s1), n2 = strlen(s2);
for(int i=0;i//超市賣出的玻璃粉各顏色個數
hash[s1[i]]++;
int loss = 0;
for(int i=0;iif(!hash[s2[i]]) //超市沒有這種顏色,缺少個數+1
loss++;
else
//超市有這種顏色,庫存數量-1
hash[s2[i]]--;
}if(!loss)
printf("yes %d",abs(n1-n2));
else
printf("no %d",loss);
return
0;}
查詢演算法 雜湊演算法,雜湊表查詢
那麼問題來了,如果集合s中同時存在值k 16和值k 27,我們該如何將兩個位址一樣的值存入雜湊表呢?常用的雜湊函式 處理衝突的方法 2.連位址法 雜湊表涉及的是一種對映關係,可以根據某個值查詢到關鍵字的位址,這樣的做法省去了比較的時間,優化了演算法。雜湊表是把值 關鍵字 存到跟它具有 唯一 對映的格...
雜湊函式 雜湊函式 演算法
常用字串雜湊函式有bkdrhash,aphash,djbhash,jshash,rshash,sdbmhash,pjwhash,elfhash等等。c 實現 include define m 249997 define m1 1000003 define m2 10000019 大素數 using ...
詳解雜湊演算法 雜湊表
何為雜湊演算法 雜湊演算法又稱為雜湊技術 hash技術 雜湊演算法將任意長度的二進位制值對映為較短的固定長度的二進位制值,這個小的二進位制值稱為雜湊值。雜湊值是一段資料唯一且極其緊湊的數值表示形式。如果雜湊一段明文而且哪怕只更改該段落的乙個字母,隨後的雜湊都將產生不同的值。要找到雜湊為同乙個值的兩個...