经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
Java编程题(1):n个数里出现次数大于等于n/2的数 - yjry-th
来源:cnblogs  作者:yjry-th  时间:2018/10/16 9:40:20  对本文有异议

题目描述:输入n个整数,输出出现次数大于等于数组长度一半的数。

输入描述:每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。

输出描述:输出出现次数大于等于n/2的数。

输入示例:3 9 3 2 5 6 7 3 2 3 3 3

输出示例:3

 

解法之一:

 

  1. /*输入n个整数,输出出现次数大于等于数组长度一半的数。*/
  2.  
  3. package practice_completed;
  4. import java.util.*;
  5. public class Test {
  6. public static void main(String[] args) {
  7. Scanner in = new Scanner(System.in);
  8. String str = "";
  9. ArrayList<Integer> a = new ArrayList<Integer>();
  10. str = in.nextLine();//以字符串形式接收输入的所有数字
  11. String[] c = str.split(" ");//按' '分割每一个数字,得到新的只含有数字的字符串数组
  12. for(int i = 0; i < c.length; i++){//将字符串数组中的每个数字字符转换成整型
  13. // String temp = String.valueOf(c[i]);
  14. a.add(Integer.parseInt(c[i]));//将整数赋值给数组列表
  15. }
  16. for(int i = 0; i < a.size(); i++){//遍历数组列表,查找符合条件的数字
  17. int flag = 0;
  18. for(int j = 0; j < a.size(); j++){
  19. if(a.get(i) == a.get(j)){
  20. flag++;
  21. }
  22. }
  23. if(flag >= a.size() / 2){//若flag大于等于数组长度的一半,输出当前的数字
  24. System.out.println(a.get(i));
  25. break;
  26. }
  27. }
  28. in.close();
  29. }
  30. }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号