“阿历克斯,再想想别的法子吧”,牛仔央求地说道。
“唉,好吧”,杨成只好单手托腮,开始了思考。
地图信息实例像这样:
[true,true,true,false,true]
[false,false,true,false,false]
[true,false,true,false,true]
[true,false,false,false,true]
[true,true,true,true,true]
这是一个5X5的矩阵。
其中true代表可通行的区域,false标注的区域无法通行。
那么,怎么把这个地图实例转为手机存储呢?
一种最简单的方法,是把这个实例序列化为字符串,就像这样:
“[[true,true,true,false,true],[false,false,true,false,false],[true,false,true,false,true],[true,false,false,false,true],[true,true,true,true,true]]“
这种方法很有效,但缺点也很明显。
占用的存储空间太多了,远远超过了10个字符的长度。
所以,必须想一个方法,对地图信息进行压缩。
杨成通过观察,发现了一种比较好的压缩方法。
使用二进制!
true可以用数字1来替代,false用数字0来替代。
那么矩阵就成了0和1构成的数字矩阵。
然后,将矩阵的每一行,看作是二进制数字。
比方说,第一行:
[true,true,true,false,true]
Loading...
未加载完,尝试【刷新】or【关闭小说模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.dd123.cc
(>人<;)