該題是hash表的一種應用。
隨機固定長度加密 ,在這種方法中,使用數字和字母表集合來為 url 生成加密結果。這種方法中,加密後的長度固定是 6 位。如果產生出來的加密結果與之前產生的結果一樣,就換乙個新的加密結果。
public class codec
return sb.tostring();
} // encodes a url to a shortened url.
public string encode(string longurl)
map.put(key,longurl);
return ""+key;
}// decodes a shortened url to its original url.
public string decode(string shorturl)
}
表現分析
1.可加密的 url 數目非常大,幾乎是 (10 + 26*2)^6級別。
2.加密 url 的長度固定是 6,這相比於能加密的字串數目是極大的縮減優化。
3.這個方法的表現非常好,因為幾乎不可能產生相同加密結果。
4.我們也可以通過增加加密字串的長度來增加加密結果的數目。因此,在加密字串的長度和可加密的字串數目之間我們需要做乙個權衡。
5.根據加密 url **加密結果幾乎是不可能的,因為使用了隨機數。
TinyURL 的加密與解密
tinyurl是一種url簡化服務,比如 當你輸入乙個url 時,它將返回乙個簡化的url 要求 設計乙個 tinyurl 的加密 encode 和解密 decode 的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個tinyurl...
TinyURL 的加密與解密
題目 tinyurl是一種url簡化服務,比如 當你輸入乙個url時,它將返回乙個簡化的url.要求 設計乙個 tinyurl 的加密encode和解密decode的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個tinyurl可以...
535 TinyURL 的加密與解密
題目描述 tinyurl是一種url簡化服務,比如 當你輸入乙個url 時,它將返回乙個簡化的url 要求 設計乙個 tinyurl 的加密 encode 和解密 decode 的方法。你的加密和解密演算法如何設計和運作是沒有限制的,你只需要保證乙個url可以被加密成乙個tinyurl,並且這個ti...