= (97* 333 + 98 * 332 + 99 * 33 +100) % hash_size
= 3595978 % hash_size
其中hash_size表示雜湊表的大小(可以假設乙個雜湊表就是乙個索引0 ~ hash_size-1的陣列)。
給出乙個字串作為key和乙個雜湊表的大小,返回這個字串的雜湊值。
樣例
樣例 1
:輸入: key =
"abcd"
, size =
1000
輸出:978
樣例解釋:(97*
33^3+
98*33^
2+99*
33+100*1)
%1000
=978
樣例 2
:輸入: key =
"abcd"
, size =
100輸出:
78 樣例解釋:(97*
33^3+
98*33^
2+99*
33+100*1)
%100=78
說明對於這個問題,您沒有必要設計自己的雜湊演算法或考慮任何衝突問題,您只需要按照描述實現演算法.
class
solution
long result=key[0]
;//注意資料型別是long,防止資料過大造成溢位;
for(
int i=
1;i)return result;}}
;
lintcode 128 雜湊函式
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表示雜湊表的大小 可以假設乙個雜湊表...
LintCode 簡單 128 雜湊函式
1.問題描述 在資料結構中,雜湊函式是用來將乙個字串 或任何其他型別 轉化為小於雜湊表大小且大於等於零的整數。乙個好的雜湊函式可以盡可能少地產生衝突。一種廣泛使用的雜湊函式演算法是使用數值33,假設任何字串都是基於33的乙個大整數,比如 hashcode abcd ascii a 333 ascii...
雜湊函式(雜湊函式,Hash Function)
說明 雜湊的概念屬於查詢,它不以關鍵字的比較為基本操作,採用直接定址技術。在理想情況下,查詢的期望時間為o 1 簡單的說,hash函式就是把任意長的輸入字串變化成固定長的輸出字串的一種函式。輸出字串的長度稱為hash函式的位數。下圖 於維基百科 雜湊函式把訊息或資料壓縮成摘要,使得資料量變小,將資料...