vivo 笔试 c++小白第一题超时,大佬们能不能解答一下?
int solution(int n)
{
int sum=0;
vector<int> v;
for(int i=1; i<=n; i++)
{
int j=i;
while(j--)
{
v.push_back(i);
}
}
for(int i=0; i<n; i++)
sum+=v[i];
cout<<sum<<endl;;
}
重做了
#vivo##笔试题目#
{
int sum=0;
vector<int> v;
for(int i=1; i<=n; i++)
{
int j=i;
while(j--)
{
v.push_back(i);
}
}
for(int i=0; i<n; i++)
sum+=v[i];
cout<<sum<<endl;;
}
重做了
int solution(int n) {
int sum = 0, day = 1;
while (n != 0) {
if (n >= day) {
sum += day * day;
n -= day;
} else {
sum += day * n;
n = 0;
}
day++;
}
return sum;
}