思路是依次计算每个位上的1的个数。算法复杂度O(logN) 首先拿n = 190举例,理解这么做是可行的,然后再想办法用代码实现它。 1)首先,求个位上出现1的个数,即个位固定为1,那么就是1,11,21,31,...... ,181,这里个位上共有19个1。 2)接下来,求十位上出现的1的个数,即十位固定为1,那么就是11,12,13,...... ,19;111,112,113,...... , 119,这里十位上共有20个1。注意,这里算的是十位上为1的个数,因此例如“11”这个数,个位上的1已经在上一轮统计过;同理,“111”这个数,百位上的1将在下一轮进行统计。因此我们只需关注当前位...