zoukankan      html  css  js  c++  java
  • 2018/12/08 PAT刷题 L1-034 点赞

    题目明确规定了数字的范围, 那么就可以使用数组来做.

    再思考一下, 如果没有规定数字的范围, 也就是要使用容器来做这题, 那该怎么写呢.

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
     
    public class Main {
     
        public static void main(String[] args) throws Exception{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int N = Integer.parseInt(br.readLine());
            int b[] = new int[1001];  // 由于又明确数字表明总共的数字小于等于1000个, 因此使用数组是合理的. 
            for (int i = 0; i < N; i++) {
                String[] str = br.readLine().split(" ");
                int a = Integer.parseInt(str[0]);
                for (int j = 1; j <= a; j++) {  // 原先是j<a, 有两个点错误, 应该是j<=a , 应为输入的数字总共是a+1个.
                    b[Integer.parseInt(str[j])]++;
                }
            }
            int max = 0;
            int maxindex = 0;
            for (int i = 0; i <= 1000; i++) {
                if (max < b[i]) {
                    max = b[i];
                    maxindex = i;
                }
                if (b[i] == max && i > maxindex) {
                    max = b[i];
                    maxindex = i;
                }
            }
            System.out.println(maxindex + " " + max);
        }
    }
  • 相关阅读:
    JS 缓存
    时区转换
    JQuery easy UI 通过updateRow 排序
    SqlServer2008 数据库同步的两种方式
    C#各种辅助类收集(CSharpCommonHelper)
    Doc命令收集(一)
    Sql Server Alter语句
    JQuery easy UI updateRow
    Doc命令收集(二)
    六大开源搜索引擎工具
  • 原文地址:https://www.cnblogs.com/huangZ-H/p/10087017.html
Copyright © 2011-2022 走看看