Golang | Leetcode Golang题解之第535题TinyURL的加密与解密

题目:

题解:

Go 复制代码
import "math/rand"

type Codec map[int]string

func Constructor() Codec {
    return Codec{}
}

func (c Codec) encode(longUrl string) string {
    for {
        key := rand.Int()
        if c[key] == "" {
            c[key] = longUrl
            return "http://tinyurl.com/" + strconv.Itoa(key)
        }
    }
}

func (c Codec) decode(shortUrl string) string {
    i := strings.LastIndexByte(shortUrl, '/')
    key, _ := strconv.Atoi(shortUrl[i+1:])
    return c[key]
}
相关推荐
passer__jw7672 小时前
【LeetCode】【算法】208. 实现 Trie (前缀树)
算法·leetcode
qq_172805592 小时前
GIN 反向代理功能
后端·golang·go
益达爱喝芬达3 小时前
力扣11.3
算法·leetcode
passer__jw7673 小时前
【LeetCode】【算法】406. 根据身高重建队列
算法·leetcode
远望樱花兔3 小时前
【d63】【Java】【力扣】141.训练计划III
java·开发语言·leetcode
迃-幵3 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
九圣残炎3 小时前
【从零开始的LeetCode-算法】3254. 长度为 K 的子数组的能量值 I
java·算法·leetcode
vir024 小时前
找出目标值在数组中的开始和结束位置(二分查找)
数据结构·c++·算法·leetcode
lunjiahao6 小时前
GJ Round (2024.10) Round 8~21
笔记·题解·杂题