Leetcode—535. TinyURL 的加密与解密【中等】

2024每日刷题(110)

Leetcode---535. TinyURL 的加密与解密

实现代码

cpp 复制代码
class Solution {
public:

    // Encodes a URL to a shortened URL.
    string encode(string longUrl) {
        while(!urlToCode.count(longUrl)) {
            string code;
            for(int i = 0; i < 6; i++) {
                code += alphabets[rand() % alphabets.size()];
            }
            if(!codeToUrl.count(code)) {
                urlToCode[longUrl] = code;
                codeToUrl[code] = longUrl;
                return "http://tinyurl.com/" + code;
            }
        }
        throw;
    }

    // Decodes a shortened URL to its original URL.
    string decode(string shortUrl) {
        return codeToUrl[shortUrl.substr(19)];
    }
private:
    const string alphabets = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    unordered_map<string, string> urlToCode;
    unordered_map<string, string> codeToUrl;
};

// Your Solution object will be instantiated and called as such:
// Solution solution;
// solution.decode(solution.encode(url));

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
Frostnova丶2 分钟前
LeetCode 238 & 2906.构造乘积数组与乘积矩阵
算法·leetcode·矩阵
Irissgwe3 分钟前
线程概念与控制
linux·开发语言·c++·线程
张槊哲5 分钟前
拆解大语言模型(LLM)的底层推演、架构演进与工业落地
算法
重庆小透明15 分钟前
【搞定面试之mysql】第二篇:事务和MVCC
java·后端·mysql·面试·职场和发展
sali-tec16 分钟前
C# 基于OpenCv的视觉工作流-章41-模板匹配
图像处理·人工智能·opencv·算法·计算机视觉
进击的小头23 分钟前
第16篇:系统的稳定裕度分析
python·算法
m0_7167652324 分钟前
C++提高编程--STL初识、string容器详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
程序员三藏26 分钟前
如何用Selenium实现自动化?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
楼田莉子27 分钟前
高并发内存池项目:内存池性能分析及其优化
开发语言·c++·后端·学习
wapicn9931 分钟前
智能识别技术在生活服务领域的落地应用与前景展望
java·c++·人工智能·python·php