每日一题
yxc_gdut
2011-08-16
DJ阿布 加油,我也想知道这是否可以实现,目前我还不能说服我自己这是有可能实现的
|
|
DJ阿布
2011-08-17
ieiayaobb 写道 DJ阿布 写道 feelifecn 写道 不太明白,请上面明示,楼主改成10以内的数字,那么如果key是2位数字,对应的value是什么数字来表示呢?难道自己可以定义数字?如果这样,和ieiayaobb用ASCII来表示有什么区别呢?
我认为楼主只是说如何压缩,并没有说解压还原问题吧. 例: hash.put("a","10"); hash.put("b","11"); . . . hash.put("#","99"); 101199-->ab# 只能是数字,字母不行 仔细看题哦,10位之内的(字符串) |
|
DJ阿布
2011-08-17
yxc_gdut 写道 DJ阿布 加油,我也想知道这是否可以实现,目前我还不能说服我自己这是有可能实现的
我说的这个解法应该是最土的一种解法,我只想说明这题是有解的,仔细想的话应该能有更优美的解法。 |
|
zouershun
2011-08-17
先遍历20位的数字有哪些0到9的数字实现,在记录相应的位置,肯定是10位以内了,数字就10个。
|
|
fxz_2008
2011-08-17
ieiayaobb 写道 拆分成10个两位数,每个两位数对应成ASCII的字符
如果字符串中含有数字"0"时,会出现问题 |
|
yxc_gdut
2011-08-18
细看才知道误会一大堆,我回答的是三楼的问题,啊布你解答的是一楼的问题。
|
|
fxz_2008
2011-08-18
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <SCRIPT LANGUAGE="JavaScript"> //压缩前字符串 var _former = "23475439057468947233475094759027569027589720954764597063576037856975607458673087620720457634895768495764895638963470634706945769485762"; //var _former = "2330248"; /** * 压缩算法,分别取出两个数字转换成ASCII码,如果字符个数为奇数时,返回最后一位的负数值 * @param _former : 准备压缩的字符串 * @return _arr : 压缩后的数组 * @auth 方小洲 */ function _doZip(_former){ //定义数组、数组长度 var _arr = [] ; var _len = 0 ; //循环取出两个数字 for(var i = 0 ; i < _former.length - 1 ; i=i+2){ var _tmp = String.fromCharCode(_former.substring(i,i+2)); _arr[_len++] = _tmp ; } //如果字符个数为奇数时,返回最后一位的负数值 if(_former.length % 2 == 1){ _arr[_len++] = "-"+_former.charAt(_former.length-1); } return _arr ; } /** * 压缩算法,分别取出两个数字转换成ASCII码,如果字符个数为奇数时,返回最后一位的负数值 * @param _arr : 准备解压的数组 * @return _latter : 解压后的字符串 * @auth 方小洲 */ function _doUnZip(_arr){ //定义数组、数组长度 var _brr = [] ; var _len = 0 ; //循环取出每个字符,把ASCII转换成数字 for(var i = 0 ; i < _arr.length -1 ; i++){ var _tmp = _arr[i].charCodeAt(0); if(parseInt(_tmp) < 10 ){ _tmp = "0" + _tmp ; } _brr[_len++] = _tmp ; } //取出数组的最后一个元素 var _theLast = _arr[_arr.length - 1]; //如果长度大于1,表示为负数,返回其绝对值就可以了 if(_theLast.length > 1) { var _tmp = parseInt(_theLast); _tmp = Math.abs(_tmp); _brr[_len++] = _tmp ; }else { //表示正常压缩,按原来的解压 var _tmp = _theLast.charCodeAt(0); if(parseInt(_tmp) < 10 ){ _tmp = "0" + _tmp ; } _brr[_len++] = _tmp ; } //把数组转换为字符串 var _latter = _brr.join(''); return _latter ; } /** * 把数组变成字符串 * @param _arr : 数组 * @return _str : 返回的字符串 * @auth 方小洲 */ function _changeArrayToString(_arr){ var _str = _arr.join(''); return _str ; } var _latter = _doZip(_former); document.write("压缩前:"+_former + "<br/>" ); document.write("压缩后:"+_changeArrayToString(_latter) + "<br/>" ); document.write("解压后:"+_doUnZip(_latter) + "<br/>" ); </SCRIPT> </HEAD> <BODY> </BODY> </HTML> |
|
ives
2011-08-18
ieiayaobb 写道 DJ阿布 写道 feelifecn 写道 不太明白,请上面明示,楼主改成10以内的数字,那么如果key是2位数字,对应的value是什么数字来表示呢?难道自己可以定义数字?如果这样,和ieiayaobb用ASCII来表示有什么区别呢?
我认为楼主只是说如何压缩,并没有说解压还原问题吧. 例: hash.put("a","10"); hash.put("b","11"); . . . hash.put("#","99"); 101199-->ab# 只能是数字,字母不行 难道16进制就不是数字了? |
|
ieiayaobb
2011-08-22
ives 写道 ieiayaobb 写道 DJ阿布 写道 feelifecn 写道 不太明白,请上面明示,楼主改成10以内的数字,那么如果key是2位数字,对应的value是什么数字来表示呢?难道自己可以定义数字?如果这样,和ieiayaobb用ASCII来表示有什么区别呢?
我认为楼主只是说如何压缩,并没有说解压还原问题吧. 例: hash.put("a","10"); hash.put("b","11"); . . . hash.put("#","99"); 101199-->ab# 只能是数字,字母不行 难道16进制就不是数字了? 那你定义个100进制的,后面用自定义的符号不就完事了? |
|
ieiayaobb
2011-08-22
DJ阿布 写道 ieiayaobb 写道 DJ阿布 写道 feelifecn 写道 不太明白,请上面明示,楼主改成10以内的数字,那么如果key是2位数字,对应的value是什么数字来表示呢?难道自己可以定义数字?如果这样,和ieiayaobb用ASCII来表示有什么区别呢?
我认为楼主只是说如何压缩,并没有说解压还原问题吧. 例: hash.put("a","10"); hash.put("b","11"); . . . hash.put("#","99"); 101199-->ab# 只能是数字,字母不行 仔细看题哦,10位之内的(字符串) 仔细看看楼主下面的回复,他现在要用纯数字 |
相关讨论
相关资源推荐
- spring-framework-3.1.4.RELEASE.zip
- Spring Framework 3.1.4 发布
- Spring Framework 3.1.4 Released
- SSM-springframework-3.1.4.RELEASE-mybatis-3.2.2.zip
- spring-framework-3.1.4.RELEASE源码
- Spring Framework jar包下载地址
- org.springframework.web.servlet-3.1.4.RELEASE.jar 提供下载
- springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系
- org.springframework.core_3.1.1.RELEASE.jar
- Spring Framework与JDK版本对应表