题解 | #合并表记录#

合并表记录

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

import java.util.Scanner;
import java.util.TreeMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {   //使用二维数组排序;下次试一试treapMap试一试
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n = in.nextInt();
        int[][] table = new int [n][2];
        for (int i = 0; i < n; i++) {
            table[i][0] = in.nextInt();
            table[i][1] = in.nextInt();
        }
        in.close();
        int current = -1;
        String str = "";
        table = sort2DArray(table, 0);
        for (int i = 0; i < table.length - 1; i++) {
            current++;
            int next = current + 1;
            if (table[current][0] == table[next][0]) {
                table[next][1] += table[current][1];
            } else {
                str += table[current][0] + " " + table[current][1] + ",";
            }
            if (next == table.length - 1)
                str += table[next][0] + " " + table[next][1] + ",";
        }
        String[] strss = str.split(",");
        for (String str1 : strss)
            System.out.println(str1);


    }


    public static int[][] sort2DArray(int[][] arrays, int col) {
        //根据某一列数据排序
        Arrays.sort(arrays, new Comparator<int[]>() {

            @Override
            public int compare(int[] in1, int[] in2) {
                // TODO Auto-generated method stub
                return Integer.compare(in1[col], in2[col]);//根据0列数据给数组排序
            }
        });


        return arrays;


    }


}

全部评论

相关推荐

一天代码十万三:这个学历有中大厂实习也是0面,没办法,斩杀线是这样的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务