class Solution {
public:
int NumberOf1Between1AndN_Solution(int n)
{
if(n==0) return 0;
vector<int> number;
while(n!=0) number.push_back(n),n/=10;
int res=0;
for(int i=number.size()-1;i>=0;i--)
{
int left=0,right=0,t=1;
for(int j=number.size()-1;j>i;j--) left = left*10+number[j];
for(int j=i-1;j>=0;j--) right = right*10 + number[j],t*=10;
res+=left*t;
if(number[i]==1) res += right + 1;
else if(number[i]>1) res += t;
}
return res;
}
};
public:
int NumberOf1Between1AndN_Solution(int n)
{
if(n==0) return 0;
vector<int> number;
while(n!=0) number.push_back(n),n/=10;
int res=0;
for(int i=number.size()-1;i>=0;i--)
{
int left=0,right=0,t=1;
for(int j=number.size()-1;j>i;j--) left = left*10+number[j];
for(int j=i-1;j>=0;j--) right = right*10 + number[j],t*=10;
res+=left*t;
if(number[i]==1) res += right + 1;
else if(number[i]>1) res += t;
}
return res;
}
};
2020-05-14
在牛客打卡22天,今天学习:刷题 2 道/代码提交 2 次
全部评论
相关推荐
点赞 评论 收藏
分享
01-05 09:14
同济大学 Java
心碎一号线:我要是9✌🏻我就选保研,保研了大四再找实习,实习之后,如果觉得自己不适合互联网工作模式,还能有其他选择,如果实习后决定了走互联网,也能提升学历提高竞争力 点赞 评论 收藏
分享

