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. 蓝桥杯 算法训练 出现次数最多的整数

  • 相关阅读:
    最简单的as调用js
    搜集API
    Northwind SQL Code
    玩Gmail :)
    ASP.NET操作服务 注意权限
    在Windows 7下安装Oracle 11g的解决方法
    windows 7 下安装了 oracle p6810189_10204_Win32
    ClientScript遇到UpdatePanel
    sql server 2005 ,恢复xp_cmdshell的办法
    SQL查询表、视图、存储过程、函数的创建和变更时间
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/6498384.html
Copyright © 2011-2022 走看看