題目**
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...