lintcode 128 雜湊函式

2021-10-02 04:44:11 字數 816 閱讀 4939

= (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函式的位數。下圖 於維基百科 雜湊函式把訊息或資料壓縮成摘要,使得資料量變小,將資料...