首页 > 其他 > 详细

Integer中计算int位数的方法

时间:2017-02-26 13:53:55      阅读:192      评论:0      收藏:0      [点我收藏+]

今天在看JDK源码的时候,发现Integer求正数位数的方法,和自己写的方法差异比较大,而且效率很高,具体方法如下:

1     final static int [] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,
2                                       99999999, 999999999, Integer.MAX_VALUE };
3 
4     // Requires positive x
5     static int stringSize(int x) {
6         for (int i=0; ; i++)
7             if (x <= sizeTable[i])
8                 return i+1;
9     }

简单来说,就是如果x小于等于9,那就是1位数,小于等于99,就是2位数,和自己之前写的用取模方法相比,这种方法的时间复杂度几乎是O(1)

Integer中计算int位数的方法

原文:http://www.cnblogs.com/xyliao/p/6444066.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!