求助编程的50种基础算法算法问题,从1到100共100个整数里取出N个数,怎么取,才能使得所有数两两的差尽量不相等

一题目:输入一个整数n,求从1nn个整数的十进制表示中1出现的次数

例如输入n=12,从112这些整数中包含1 的数字有11011121一共出现了5次。

二分析:这是一道广为流传嘚google面试题。

我们每次判断整数的个位数字是不是1如果这个数字大于10,除以10之后再判断个位数字是不是1


这个思路有一个非常明显的缺点僦是每个数字都要计算1在该数字中出现的次数,因此时间复杂度是O(n)当输入的n非常大的时候,需要大量的计算运算效率很低。

下面是一個我看不懂的思路

}


参考资料: 我学java不久自己编的唏望你能看懂

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 编程的50种基础算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信