vector<int> problemTwo(vector<vector<int>>&num)
{
vector<int>ret;
int iSize = num.size();
if (iSize == 0)
return ret;
for (int i = 0; i < iSize; i++)
{
int jMax = num[i].size();
if (jMax < 3)
{
ret.push_back(0);
continue;
}
else
{
sort(num[i].begin(), num[i].end());
int iret = 0;
for (int j = 0; j < jMax; j++)
{
if (num[i][j] == 0)
continue;
else
{
if (j + 2 < jMax)
{
iret += num[i][j];
num[i][j + 1] -= num[i][j];
num[i][j + 2] -= num[i][j];
num[i][j] = 0;
}
}
}
ret.push_back(iret);
}
}
return ret;
}
这个思路没错吧,先排序,然后减三个中最小的那个!不知道是不是时间超时了,没通过。