当前位置:首页 > 芯闻号 > 充电吧
[导读]问题描述:编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两

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

import java.util.*;  
import java.math.*;
public class Main
{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		String k[]=new String[25];//考虑到输入的整数的数据溢出问题,用的是String 存所输入的内容
		int max_count=1;//先假定输入的次数最多的为1次,一个数至少出现了1次
		int count=1;//一个数最少出现一次
		int n=sc.nextInt();//读取数据的个数
		int t=0;
		for(int s=0;s<n;s++)
		{
			int i=0;
			k[t++]=sc.next();//将数据存入数组
			for(i=0;k[t-1].charAt(i)=='0';i++);// 预防 010和10数值相同的类似情况,对存储的进行修正
			k[t-1]=k[t-1].substring(i);
		}
		k[t]="null";//这一个是没有意义的因为存储到范围是0~n-1
		String max_time_num=k[0];//假定出现次数最多的字符串是0
		for(int d=0;dmax_count)//不想等就判断是否大于当前最大值
				{
					max_count=count;//大于就把出现的次数的最大值给max_count
					max_time_num=k[d];//用k[d]给max_time_num赋值
				}
				count=1;//无论是否满足情况count都要赋值为1
			}
		}
		if(n>0)//少了这个只能得到80分,
		System.out.println(max_time_num);//输出最终的结果	
	}
}


下面这些都是得到80分的,不知道是数据溢出了,还是没有对N<=0进行判断。我也不尝试了!

import java.util.*;  
import java.math.*;
public class Main
{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int k[]=new int[22];
		int max_count=1;
		int max_time_num=0;
		int count=0;
		int n=sc.nextInt();
		int t=0;
		while(n-->0)
		{
			k[t++]=sc.nextInt();
		}
		if(t>1)
		{
			for(int s=t;s>=1;s--)
			{
				if(k[s]==k[s-1])
				{
					count++;
				}
				else
				{
					count=1;
				}
				if(count>=max_count)
				{
					max_count=count;
					max_time_num=k[s];
				}
			}
			if(k[0]!=k[1]&&k[1]!=k[2]&&max_time_num==k[1])
			{
				max_time_num=k[0];
			}
			System.out.println(max_time_num);
		}
		else
		{
			System.out.println(k[0]);
		}
	}
}



import java.util.*;  
import java.math.*;
public class Main
{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int k[]=new int[22];
		int max_count=1;
		int max_time_num=0;
		int n=sc.nextInt();
		int t=0;
		while(n-->0)
		{
			k[t++]=sc.nextInt();
		}
		max_time_num=k[0];
		for(int i=0;i<t;)
		{
			int count=0;
			int d=0;
			for(d=0;(k[i]==k[i+d])&&(i+dmax_count)
			{
				max_count=count;
				max_time_num=k[i];
			}
			i=i+d;
		}
		System.out.println(max_time_num);
		
	}
}

import java.util.*;  
import java.math.*;
public class Main
{
	public static void main(String[] args)
	{
		int k[]=new int[10000000];
		int max_time,max_num=0;
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int k2[]=new int[n];
		for(int i=0;i<n;i++)
		{
			k2[i]=sc.nextInt();
			k[k2[i]]++;
		}
		max_num=k2[0];
		max_time=k[k2[0]];
		for(int i=0;i<n;i++)
		{
			if(max_time<k[k2[i]])
			{
				max_num=k2[i];
			}
		}
		System.out.println(max_num);
	}
}
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日,2024中关村论坛年会发布了10项重大科技成果名单,其中“转角氮化硼光学晶体原创理论与材料”备受关注。

关键字: 激光

负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai),近日在其日益丰富的云产品阵容中又增添了一款基于NVIDIA GPU的媒体优化型产品。这款全新的云服务产品基于NVIDIA RTX 4000 Ada Ge...

关键字: 视频解码器

业内消息,近日高通公司宣布推出针对桌面平台的全新骁龙 X Plus 处理器。

关键字: 高通 骁龙 X Plus 处理器

近日,台积电在圣克拉拉年度技术研讨会上宣布首个“埃级”制程技术:A16。A16 是台积电首次引入背面电源输送网络技术,计划于 2026 年下半年开始量产。同时,台积电也在重新命名工艺节点,标志着「埃级」时代的开始。

关键字: 台积电 A16

4 月 25 日消息,4 月 25 日,国际数据公司(IDC)发布 2024 年第一季度中国手机市场跟踪报告,荣耀以 17.1% 的市场份额拿下第一,华为占 17.0% 位列第二,OPPO、苹果和 vivo 分别位列第三...

关键字: 荣耀 华为

业内消息, 近日华为全新Pura 70系列手机正式开售引发广大 数码爱好者追捧,但是有网友注意到这款手机的“AI修图”功能,竟然可以将照片中的人物衣服消除,并拍成视频发布网络。

关键字: 华为Pura70 华为

据韩媒报道,近日韩国多位军方人士透露,韩国军方正在考虑全面禁止在军事建筑内使用苹果手机,军方担心敏感信息通过录音泄露。

关键字: iPhone 苹果

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

继“特斯拉开启万人大裁员”之后,如今又一家车企扛不住了!

关键字: 电动汽车

轻量级AI定制模型助力低成本快速部署 北京2024年4月18日 /美通社/ -- 数据和人工智能(AI)领域的领先者SAS—今日在SAS Innovate大会上首次展示了一款变革性的、旨在帮助企业直面业务挑战的解决方案...

关键字: SAS AI模型 人工智能 INNOVATE
关闭
关闭