当前位置: 首页 > article >正文

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

题目:

题解:

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]
}

http://www.kler.cn/a/380466.html

相关文章:

  • 爬虫学习4
  • react18中redux-promise搭配redux-thunk完美简化异步数据操作
  • 软件对象粒度控制与设计模式在其中作用的例子
  • 又一次安装autoware.universe的过程
  • 二、应用层,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》
  • MQTT自动发送消息工具(自动化测试MQTT)
  • PHP单商户多门店会员管理系统小程序源码
  • react jsx基本语法,脚手架,父子传参,refs等详解
  • 【系统架构设计师】2023年真题论文: 论软件可靠性评价的设计与实现(包括和素材和论文)
  • 大厂面试真题-说说redis的分片方式
  • 深入研究 RAG 流程中的关键组件
  • Kubernetes架构及核心组件
  • Soul App创始人张璐团队自研多模态大模型,亮相GITEX GLOBAL获好评
  • 【Arch Linux 上安装 Appium 】
  • 进程介绍!
  • AcWing 1073 树的中心 树形dp (详解)
  • 图书管理系统(JDBC)
  • Elasticsearch Date类型,时间存储相关说明
  • 创新材料科技:铜冷却壁助力高炉节能降耗
  • 【React】初学React
  • 新能源汽车火灾应急处置程序
  • w~大模型~合集20
  • 在 Oracle 数据库中,SERVICE_NAME 和 SERVICE_NAMES 有什么区别?
  • 云原生后端:现代应用程序开发的关键技术
  • 【vue项目中添加告警音频提示音】
  • 如何编写STM32的RTC程序