Min_MaxSum

https://www.hackerrank.com/challenges/mini-max-sum/problem?isFullScreen=true
O(N^2)解法
`void miniMaxSum(vector arr) {

long long min=LLONG_MAX,max=LLONG_MIN;
for(int i=0;i<arr.size();++i)
{
long long sum=0;
for(int j=0;j<arr.size();++j)
{
if(j==i)
{
continue;
}
sum+=arr[j];
}
if(sum>=max)
{
max=sum;
}
if(sum<=min)
{
min=sum;
}
}
cout<<min<<' '<<max;

}`

O(N)解法:
因为总和都一样,其实就是找最大最小,用总和减去最大最小就得到对应的最大最小
求所有数的总和 totalSum
记录其中的最小值 minVal 和最大值 maxVal
最小和 = totalSum - maxVal
最大和 = totalSum - minVal
`void miniMaxSum(vector arr) {

long long min=LLONG_MAX,max=LLONG_MIN;
long long sum=0;
for (auto i:arr)
{
sum+=i;
if (i>max)max=i;
if (i<min)min=i;
}
cout<<sum-max<<' '<<sum-min;

}
`

posted @ 2025-06-29 10:35  哒哒DaDa^_^  阅读(10)  评论(0)    收藏  举报