1的个数
class Solution {
public:
int NumberOf1Between1AndN_Solution(int n)
{
int count=0;
if(n<10)
return 1;
if(n==10)
return 2;
if(n<100)
{
if(n%10==0)
{
//以下是个位数位1的情况
count=n/10;
//十位为1的情况
count+=9;//扣掉11所以加9
}
if(n%10>0)
{
count=n/10+1;
if(n>20)
count+=10;//我觉得55用例输入有问题,没有抠出有两个11的问题
else if(n<20)
count +=n%10;
}
}
if(n>=100&n<1000)
return NumberOf1Between1AndN_Solution(99)*n
return count;
}};
//不做了,思路错了
文远知行公司福利 544人发布