lintcode 128 雜湊函式

2021-08-21 10:39:29 字數 544 閱讀 1394

hashcode("abcd") = (ascii(a) * 333 + ascii(

b) * 332+ 

ascii(

c) *33 + 

ascii(

d)) % hash_size

= (97* 33

3+ 98

* 33

2+ 99

* 33 +100

) % hash_size

= 3595978 % hash_size

其中hash_size表示雜湊表的大小(可以假設乙個雜湊表就是乙個索引0 ~ hash_size-1的陣列)。

給出乙個字串作為key和乙個雜湊表的大小,返回這個字串的雜湊值。

對於這個問題你不需要自己設計hash演算法,你只需要實現上述描述的hash演算法即可。

是 分析:這道題主要是防止整數越界

為了防止越界可以對多項式進行處理

class solution 

return (int)res;

}};

lintcode 128 雜湊函式

97 333 98 332 99 33 100 hash size 3595978 hash size其中hash size表示雜湊表的大小 可以假設乙個雜湊表就是乙個索引0 hash size 1的陣列 給出乙個字串作為key和乙個雜湊表的大小,返回這個字串的雜湊值。樣例 樣例 1 輸入 key ...

LintCode 簡單 128 雜湊函式

1.問題描述 在資料結構中,雜湊函式是用來將乙個字串 或任何其他型別 轉化為小於雜湊表大小且大於等於零的整數。乙個好的雜湊函式可以盡可能少地產生衝突。一種廣泛使用的雜湊函式演算法是使用數值33,假設任何字串都是基於33的乙個大整數,比如 hashcode abcd ascii a 333 ascii...

雜湊函式(雜湊函式,Hash Function)

說明 雜湊的概念屬於查詢,它不以關鍵字的比較為基本操作,採用直接定址技術。在理想情況下,查詢的期望時間為o 1 簡單的說,hash函式就是把任意長的輸入字串變化成固定長的輸出字串的一種函式。輸出字串的長度稱為hash函式的位數。下圖 於維基百科 雜湊函式把訊息或資料壓縮成摘要,使得資料量變小,將資料...