实现一个短网址系统

短网址服务的两个核心功能,

  1. 把原始的长网址转化成短网址。
  2. 当用户点击短网址的时候,短网址服务会将浏览器重定向为原始网址。

输入source_url,返回short_url

访问短网址服务,输入source_url,返回short_url
在这里插入图片描述
首先使用hash函数,将其转换为32位的数字
之后对32位数字进行62进制编码,在网址 URL 中,常用的合法字符有 0~9、a~z、A~Z 这样 62 个字符。

关键问题在于处理hash冲突
如:http://xxxxxxx与http://ooooooo以及http://kkkkkkk,这三个source_url其hash冲突了。
如果冲突了,思路是给source_url,拼接一串特殊字符,比如“[DUPLICATED]”,然后跟再重新计算哈希值,如果继续冲突,那么继续计算(连续冲突的概率很小)

输入short_url,返回source_url

当用户点击短网址的时候,短网址服务会将浏览器重定向为原始网址。
在这里插入图片描述
其流程图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值