zoukankan      html  css  js  c++  java
  • 算法笔记_060:蓝桥杯练习 出现次数最多的整数(Java)

    目录

    1 问题描述

    2 解决方案

     


    1 问题描述

    问题描述
      编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
      输入格式:第一行是一个整数NN £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
      输出格式:输出只有一行,即出现次数最多的那个元素值。
    输入输出样例
    样例输入
    5
    100
    150
    150
    200
    250
    样例输出
    150

    2 解决方案

    感觉这题有点坑啊...重点在于加范围判断

    具体代码如下:

    package com.liuzhen.systemExe;
    
    import java.util.Scanner;
    
    public class Main{
    
        public void printResult(int[] A) {
            int countMax = 1;
            int counti = 0;
            int tempCount = 1;
            for(int i = 1;i < A.length;i++) {
                if(A[i - 1] == A[i])
                    ++tempCount;
                else {
                    if(tempCount > countMax) {
                        countMax = tempCount;
                        counti = i - 1;
                    }
                    tempCount = 1;
                }
                
                if(tempCount > countMax) {   //当i = A.length - 1时的情形
                    countMax = tempCount;
                    counti = i - 1;
                }
            }
               System.out.println(A[counti]);
        }
        
        public static void main(String[] args){
            Main test = new Main(); 
            Scanner in = new Scanner(System.in);
        //    System.out.println("请输入一个整数N:");
            int n = in.nextInt();
            if(n <= 0 || n > 20)   //要做范围判断,当n < 0时,不能有输出,题目只说了n <= 20。无语吟噎...
                return;
            int[] A = new int[n];
            for(int i = 0;i < n;i++)
                A[i] = in.nextInt();
            test.printResult(A);
        
        }
    }

     

    参考资料:

         1. 蓝桥杯 算法训练 出现次数最多的整数

  • 相关阅读:
    mysql 查询当天、本周,本月,上一个月的数据
    Mysql 查看连接数,状态 最大并发数,以及设置连接数
    MySQL慢查询日志优化
    java中线程通信(传统的线程通信)
    java中死锁
    同步锁(lock)
    同步锁(lock)
    释放同步监视器的锁定(java疯狂讲义)
    linux第9天 UDP
    linux第8天 connect强化
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/6498384.html
Copyright © 2011-2022 走看看