短网址算法——之 10进制与62进制转换
来源:互联网 发布:三国群英传mac版 编辑:程序博客网 时间:2024/05/16 02:05
为了避免短网址的重复,可以将短网址看成62进制的数
<span style="font-size:18px;">步骤: 1,准备一个被打乱的数组,存放A-Za-Z0-9这62个字符 2.预先产生一个网址ID,将这个ID通过 _10_to_62 解析转换成62进制的短网址符。 3.存储ID,短网址code,页面URL算法如下,很简单,时间效率也比较高,甚至,有了存储的ID,要不要存储短网址code都无所谓,这个算法时间复杂度本来就是n,而一般的短网址长度也就1~7位,时间复杂度也可以算作O(1)常量了。import java.util.Stack;/** * @author Administrator * */public class Main { public static void main(String[] args) { System.out.println(36526445); System.out.println(_10_to_62(36526445)); System.out.println(_62_to_10(_10_to_62(36526445))); } public static final char[] array={'q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m','0','1','2','3','4','5','6','7','8','9','Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M'}; public static String _10_to_62(long number){ Long rest=number; Stack<Character> stack=new Stack<Character>(); StringBuilder result=new StringBuilder(0); while(rest!=0){ stack.add(array[new Long((rest-(rest/62)*62)).intValue()]); rest=rest/62; } for(;!stack.isEmpty();){ result.append(stack.pop()); } return result.toString(); } public static long _62_to_10(String sixty_str){ int multiple=1; long result=0; Character c; for(int i=0;i<sixty_str.length();i++){ c=sixty_str.charAt(sixty_str.length()-i-1); result+=_62_value(c)*multiple; multiple=multiple*62; } return result; } private static int _62_value(Character c){ for(int i=0;i<array.length;i++){ if(c==array[i]){ return i; } } return -1; }}</span>
0 0
- 短网址算法——之 10进制与62进制转换
- 短网址算法——之 10进制与62进制转换
- Android之长网址转换为短网址——百度短网址转换
- PHP 10进制与62进制互转,可用于生成短网址
- 网易短网址转换
- sina短网址转换
- python短网址转换
- 短网址算法
- ShortUrl短网址算法
- 短网址生成算法
- 短网址算法
- 长网址转换为短网址
- 常用算法之进制转换
- 常用算法之进制转换
- 简易算法之进制转换
- 1.9算法入门之进制转换
- 短网址ShortUrl的算法
- 数据结构与算法专题之图——最短路径算法
- OGRE基础教程1(上)
- Git,SVN的优缺点及适合的范围,开源项目?公司项目?
- uva 10131
- 【后缀数组】【poj 3261】Milk Patterns
- Java Swing 中三种事件处理方法的比较
- 短网址算法——之 10进制与62进制转换
- org.hibernate.TransientObjectException:The given object has a null identifier
- Android照片墙加载优化
- windows下面的GetTickCount计时函数
- Oracle 跨用户表间数据操作(触发器实现)
- 数据处理
- 智力题(一)
- 为大家推荐一款非常好用的java写的垂直爬虫webmagic,力挺
- IP数据包字段简介