hud1031JAVA实现

来源:互联网 发布:日本 腿粗 知乎 编辑:程序博客网 时间:2024/06/04 19:35

此题很简单,实现排序即可,设置一个二维数组,将位置放在第二列中,但是开始时一直未通过,因为ML,开始时使用了一个辅助数组,将辅助数组进行改进后,即通过。

import java.util.Scanner;




public class Main{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in); 
        while(sc.hasNext()){
        int n=sc.nextInt();
        int m=sc.nextInt();
        int k=sc.nextInt();
        double[][] b=new double[m][2];
        for(int z=0;z<n;z++) 
        for(int zz=0;zz<m;zz++)
        {
        b[zz][0]+=sc.nextDouble();
        b[zz][1]=zz+1;
        }
       for(int i=0;i<m;i++)
       {  
    double max=0;int index=-1;
        for(int j=i;j<m;j++)
       
        if(b[j][0]>=max){max=b[j][0];index=j;}
        }
            b[index][0]=b[i][0];
          b[i][0]=max;
        double temp=b[index][1];
         b[index][1]=b[i][1];
        b[i][1]=temp;
        }
       for(int i=0;i<k;i++)
       {  
    double max=0;int index=-1;
        for(int j=i;j<k;j++)
       
        if(b[j][1]>=max){max=b[j][1];index=j;}
        }
        b[index][1]=b[i][1];
      b[i][1]=max;
    double temp=b[index][0];
     b[index][0]=b[i][0];
    b[i][0]=temp;
        }
       
       for(int i=0;i<k-1;i++)System.out.print((int)b[i][1]+" ");
      System.out.println((int)b[k-1][1]);
     
  }
    }
}

原创粉丝点击