题解 | #合并表记录#

合并表记录

http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

import java.util.Scanner;
public class Main{
    public void merge(int arr[][]){
        if(arr.length == 0 || arr == null || arr[0].length != 2){
            System.out.print("merge error!");
            return;
        }
        for(int y = 1; y < arr.length; y++){
            if(arr[y][0] == arr[y-1][0]){
                arr[y][1] += arr[y - 1][1];
                arr[y-1][0] = -1;
            }
        }
        for(int i = 0; i < arr.length; i++){
            if(0 <= arr[i][0] && arr[i][0] <= 11111111){
                for(int j = 0; j < 2; j++){
                    System.out.print(arr[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
    public void bubbleAsc(int arr[][]){
        if(arr.length == 0 || arr == null){
            System.out.print("bubbleAsc error!");
            return;
        }
        for(int i = 0; i < arr.length; i++){
            for(int j = i + 1; j < arr.length; j++){
                if(arr[i][0] > arr[j][0]){
                    int temp[] = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
    public static void main(String []args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int arr[][] = new int [n][2];
        for(int i = 0; i < n; i++){
            for(int j = 0; j < 2; j++){
                int temp = in.nextInt();
                if(j == 0 && 0 <= temp && temp <= 11111111){
                    arr[i][j] = temp;
                }
                else if(j == 1 && 1 <= temp && temp <= 100000){
                    arr[i][j] = temp;
                }
            }
        }
        Main test = new Main();
        test.bubbleAsc(arr);
        test.merge(arr);
        in.close();
    }
}
全部评论

相关推荐

03-15 12:48
门头沟学院 Java
牛牛要早起:这个一般就跟你说有高薪,然后叫你买车,之后血亏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务