首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中三元组的第二大和

数组中三元组的第二大和
EN

Stack Overflow用户
提问于 2015-12-07 06:27:04
回答 2查看 81关注 0票数 0

如何在给定的级数中找到三元组的第二个最大和?到目前为止,我已经通过分配内存将它们放在一个数组中,然后找到了最佳总和。我只是想不出怎么才能找到第二好的。谢谢你的帮助。

代码语言:javascript
复制
int BestSum(int a[],int size){
    int i,j,k,sum=0,best;

        best=a[0]+a[1]+a[2];
        for(i=0; i<(size-3);i++){
                for(j=i+1;j<(size-2);j++){
                        for(k=j+1;k<(size-1);k++){
                                 sum=a[i]+a[j]+a[k];
                                    if(sum>best){
                                        best=sum;
                                    }
                        }
                }
        }
        return (best);
}

int main(){

int n;
printf("please enter a series of numbers");
int *a,*tmp;
int siz,i,j,k;
int count=0;


a=(int*)malloc(sizeof(int));
for(siz=0;n!=0;siz++) {
    scanf("%d",&n);
    a[siz]=n;
    tmp=realloc(a,(siz+2)*sizeof(int));
    a=tmp;
}
EN

回答 2

Stack Overflow用户

发布于 2015-12-08 00:59:43

不要紧,伙计们,我已经想好了。我应该只添加这行second=best;代码。

代码语言:javascript
复制
int secondBest(int a[],int size){
int i,j,k,sum,best,second;

    best=a[0]+a[1]+a[2];
    second=a[0]+a[1]+a[2];
    for(i=0; i<(size-3);i++){
            for(j=i+1;j<(size-2);j++){
                    for(k=j+1;k<(size-1);k++){
                                sum=a[i]+a[j]+a[k];
                                if(sum>best){
                                    second=best;
                                    best=sum;
                                }
                    }
            }
    }
    return (second);

}

票数 0
EN

Stack Overflow用户

发布于 2020-05-08 08:39:18

代码语言:javascript
复制
import java.util.*;
class sec
{
public static void main(String abc[])
{

Scanner c=new Scanner(System.in);

System.out.println("Enter the length of the array ");
int n=c.nextInt();
int arr[]=new int[n];
int i;

System.out.println("Enter the array ");
    for(i=0;i<n;i++)
     {
      arr[i]=c.nextInt();
    }
System.out.println(" ");
Arrays.sort(arr); 

System.out.println(" The Second best sum of triplets will be " +(arr[n-4]+arr[n-3]+arr[n-2]));
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34123608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档