转自:http://pandonix.iteye.com/blog/204840 Mark N为正整数,计算从1到N的所有整数中包含数字1的个数.比如,N=10,从1,2...10,包含有2个数字1. 相信很多人都能立刻得出以下的解法: for(n:N) { 判断n包含1的个数: 累加计数器: } 这是最直接的解法,但遗憾的是,时间复杂程度为O(N*logN).因为还需要循环判断当前的n的各位数,该判断的时间复杂程度为O(logN). 接下来就应该思考效率更高的解法了.说实话,这道题让我想起另外