69,371
社区成员
发帖
与我相关
我的任务
分享
unsigned getShortestSwimTime(int arr[], int count)
{
unsigned sum = arr[0];
int shortest = arr[0];
for(int i = 1; i < count; ++i)
{
sum += arr[i];
if(arr[i] < shortest)
shortest = arr[i];
}
return (sum + (count - 3) * shortest);
}
测试代码:
int main()
{
int arr[] = {1, 2, 3, 5};
std::cout << getShortestSwimTime(arr, 4) << std::endl;
return 0;
}
//p为升序排列的数组
int fun(int* p,int count)
{
if (count == 2)
{
return p[1];
}
else if (count == 3)
{
return p[0] + p[2] + fun(p,2);
}
else
{
return p[0] + 2 * p[1] + p[count - 1] + fun(p,count - 2);
}
}