TinyURL 的加密與解密

2021-10-11 15:55:12 字數 1319 閱讀 6232

題目**

tinyurl是一種url簡化服務, 比如:當你輸入乙個url時,它將返回乙個簡化的url.

要求:設計乙個 tinyurl 的加密encode和解密decode的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個tinyurl可以用解密方法恢復成原本的url。

方法一:使用簡單的計數

public class codec 

public string decode(string shorturl)

}

方法 2:使用出現次序加密

將url的出現次序看做62進製,將每一位對映到chars字元中,用對應的字元作為key,同時作為加密

class codec 

return sb.tostring();

}public string encode(string longurl)

public string decode(string shorturl)

}

方法一和方法二存在的問題:

方法三:使用hashcode

class codec 

public string decode(string shorturl)

}

特點:

方法四:使用隨機數

class codec 

public string decode(string shorturl)

}

特點:

方法五:隨機固定長度加密

class codec 

return sb.tostring();

}public string encode(string longurl)

map.put(key, longurl);

return "" + key;

}public string decode(string shorturl)

}

特點:

總結

用乙個map存原始url,key跟在加密後的url,解密根據這個key查詢

不同的加密方法就是key的策略不同,從而影響可加密數量、長度、**情況

TinyURL 的加密與解密

tinyurl是一種url簡化服務,比如 當你輸入乙個url 時,它將返回乙個簡化的url 要求 設計乙個 tinyurl 的加密 encode 和解密 decode 的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個tinyurl...

TinyURL 的加密與解密

該題是hash表的一種應用。隨機固定長度加密 在這種方法中,使用數字和字母表集合來為 url 生成加密結果。這種方法中,加密後的長度固定是 6 位。如果產生出來的加密結果與之前產生的結果一樣,就換乙個新的加密結果。public class codec return sb.tostring encod...

535 TinyURL 的加密與解密

題目描述 tinyurl是一種url簡化服務,比如 當你輸入乙個url 時,它將返回乙個簡化的url 要求 設計乙個 tinyurl 的加密 encode 和解密 decode 的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個ti...