面试题:找出无序数组中出现频率最高的元素

解决这道题的思路有很多 比如:

  1.给数组排序变成有序数组,然后找到重复次数最多的元素;

  2.用HashMap存储数组元素,优先队列存取数组元素出现的次数,找出现次数最多的元素输出;

  3.记录元素出现的次数及对应的值,循环不断更新最大次数和对应的值,最后保存的就是最大的元素个值;

第三种思路:

package com.test.bishi;
/**
 * 2018-9-28
 * 找出无序数组中出现频率最高的元素
 */

import java.util.LinkedList;
import java.util.Scanner;

public class Test9282{
	
	public static int find(int []a)
	{
		LinkedList list=new LinkedList();
		for(int i=0;ir_count ||(f_count==r_count && f_value>r_value))
		    {
		    	r_value=f_value;
		        r_count=f_count;	
		    
		    }
		}
		System.out.println("出现频率最高的元素:"+r_value+" 次数:"+r_count);
		
		return r_count;
	}
	public static void main(String[] args) {
		
		Scanner scanner=new Scanner(System.in);
	   
		String string=scanner.nextLine();
		String []ss=string.split(" ");
		
		int []aa=new int[ss.length];
		
		for(int i=0;i

 

你可能感兴趣的:(面试题:找出无序数组中出现频率最高的元素)