面试题:给出一数组,求这数组中出现最多次数的值且最大
来源:互联网 发布:网络电玩捕鱼游戏 编辑:程序博客网 时间:2024/06/06 11:02
面试题:给出一数组,求这数组中出现最多次数的值且最大,不给使用jdk里面的方法(我理解为求次数最多的值,次数相同者取大的那个数)
作为一个17年的应届生,面试过2次而已,当时以为不难,捣鼓捣鼓着,发现也不简单,又不给用伪代码,想着阐述一下思路也好呀(当时的想法是,用hashSet去重,然后迭代去重后的数组,和原数组逐一比较,求出去重后的数组的每个值出现的次数,然后在比较谁的次数多,次数相同就比较谁的值大,当时写着写着也混乱了,觉得怪麻烦就结束了,感觉不通过,交卷走人,哪家公司缺java应届生的求带走,回来后就捣鼓着调试着终于做出来了)
——————————————————————
不吐槽了,进入正题——源码分享。
package javaTest;import java.util.LinkedList;public class CollectionTest {public static void main(String[] args) {// 5,7,3,5,1,8,1,2,2LinkedList<Integer> arrList = new LinkedList<Integer>();arrList.add(5);arrList.add(7);arrList.add(3);arrList.add(5);arrList.add(1);arrList.add(8);arrList.add(1);arrList.add(2);arrList.add(2);int r_value = 0;//结果的值int r_num = 0;//结果的值的次数int f_value = 0;//数组中第一个值int f_num = 0;//数组中第一个值的次数while (!arrList.isEmpty()) {//数组不为空则继续f_value = arrList.getFirst();//获取数组第一个值用来对比余下的数有几个与其一样f_num = 1;arrList.removeFirst();//移除了数组第一个值for (int j = 0; j < arrList.size(); j++) {//循环获取余下数组的值用来比较int t_value = arrList.get(j);if (f_value == t_value) {arrList.remove(j);//在数组中查询到相等的值则移除f_num++;//并为其次数加一j--;//因为移除了一个值,所以下一个值的下标还是当前的j,所以先减一} }if (f_num > r_num || (f_num == r_num && f_value > r_value)) {//如果当前数组第一个值的次数大于结果的次数,或者相等且值大于结果的值则替换r_value = f_value;r_num = f_num;}}System.out.println("结果:" + r_value+",次数:"+r_num);System.out.println("数组:" + arrList);}}
第一次写博客!欢迎大家指点!谢谢!!
阅读全文
1 0
- 面试题:给出一数组,求这数组中出现最多次数的值且最大
- 面试题:给出一数组,求这数组中出现最多次数的值且最大
- java找出一个数组中出现次数最多且最大的那个元素
- 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数
- 求一个数组中出现次数最多的数
- 求一个数组中出现次数最多的数
- J2EE面试题之 java如何找出一个int数组中出现次数最多的数字以及出现次数?
- Java查找一维数组中出现次数最多的值及其出现次数
- c#面试题 查找整型数组中重复出现次数最多的数字,次数相同数字按从小到大排序
- 面试题---给定数组求出现的次数
- 数组中出现次数最多的数字
- ZZ一道百度面试题:求数组中出现次数超过一半的数
- 剑指offer面试题 求数字在数组中出现的次数
- 剑指offer面试题 求数组中出现次数超过一半的数字
- 数组中出现次数最多的数及出现次数
- 寻找数组中出现次数最多的值
- 面试题:数组中出现次数超过一半的数字
- 面试题:数组中出现次数超过一半的数字
- Linux进程通信
- LINQ标准查询操作符
- bitsharesjs交易广播
- List的add()覆盖了前面的所有元素问题解决
- php的PDO连接数据库(二)
- 面试题:给出一数组,求这数组中出现最多次数的值且最大
- 页面加载大量图片导致OOM
- Ubuntu无法上网
- Java虚拟机的内存结构
- java中key值可以重复的map:IdentityHashMap
- 增加一个间接层来解耦的所有设计模式总结
- 对比Python和C++的正则表达式函数 (一)
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- 第3周实践项目3 求集合并集