【问题标题】:i need help returning the input of an array with the biggest sum我需要帮助返回具有最大总和的数组的输入
【发布时间】:2014-12-30 23:46:20
【问题描述】:

返回的数组应该包含输入数组中总和最大的三个连续元素。我被困住了?有人帮忙吗?

public class Assigment4 {

public static void main(String[] args) {

    int [] setOfNum= {1,2,3,4};

}
public static int [] threeIntegers (int [] numbers){

    int [] arrayNew = new int [numbers.length-1];
    int sum=0;
    for(int i=0; i<3;i++){
    sum=sum+numbers[i];
    }
    if (sum>)//i got stuck here



}
}

【问题讨论】:

    标签: c# arrays methods sum return


    【解决方案1】:

    我认为这应该可行。你需要两个循环

    public static int [] threeIntegers (int [] numbers){
        int max=0 //assuming array contains positive only
        int [] maxArray = new int [3];
        for(int j=0;j<numbers.length-2;++j){
          int sum=0;
          int [] newArray = new int [3];
          for(int i=0; i<3;i++){
            sum+=numbers[i+j];
            newArray[i]=numbers[i+j];
          }
          if (sum>max){
            max=sum;
            maxArray=newArray;
          }
       }
    
       return maxArray;
    }
    

    【讨论】:

      【解决方案2】:
      public static int [] threeIntegers (int [] numbers){
          int max=0;
          int [] maxArray = null;
          for(int i=0;i<numbers.length-3;++i)
          {
            int sum=numbers[i] + numbers[i+1] + numbers[i+2];
            if (sum>max)
            {
              max=sum;
              maxArray= new int[]{numbers[i], numbers[i+1], numbers[i+2]};
            }
         }
      
         return maxArray;
      }
      

      【讨论】:

        猜你喜欢
        • 2017-07-01
        • 1970-01-01
        • 2016-10-12
        • 2018-03-03
        • 1970-01-01
        • 2020-09-24
        • 1970-01-01
        • 2013-12-24
        • 1970-01-01
        相关资源
        最近更新 更多