题解 | #合并表记录#
合并表记录
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();
}
}