posts - 241,  comments - 116,  trackbacks - 0

一般对于数字长度的判断,我们习惯上是采用模除的方法。

使用递归的思想得到结果。大智慧经典版6.0下载

以下是jdk源码中实现的思路:

-----------------------------------------------------------------------------------------

final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,
            99999999, 999999999, Integer.MAX_VALUE };

static int stringSize(int x) {
        for (int i=0; ; i++)
            if (x <= sizeTable[i])
                return i+1;
    }

-----------------------------------------------------------------------------------------

递归实现的代码:

int num = random.nextInt();
            while (num / 10 > 0) {
                num = num / 10;
                length++;
            }

------------------------------------------------

当循环增加到百万数量级时,

前者的时间差不多是后者数量级的一半 。

posted on 2011-05-17 11:55 墙头草 阅读(295) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
人人游戏网 软件开发网 货运专家