Java 获取数组中最常见的元素

Java 获取数组中最常见的元素

在Java中,数组是一种非原始数据类型,用于存储相同数据类型的值。

根据问题描述,我们需要检测数组中重复次数最多的元素,并打印其频率。

数组也可以包含重复的值。因此,一个元素在数组中出现的次数被称为元素在数组中的频率。频率最高的元素即为数组中最常见的元素。

让我们看看如何使用Java编程语言来实现。

举几个示例

示例1

Suppose the original array is {1, 2, 3, 1, 5, 7, 5, 5, 9}.

执行数组操作以找出出现次数最多的数组元素,结果将是 −

最频繁的元素是 − 5

示例2

Suppose the original array is {7, 2, 3, 2, 5, 7, 3, 5, 9}.

执行数组操作以找到出现次数最多的数组元素的结果将是 –

最频繁的元素是 – 7

示例3

Suppose the original array is {77, 22, 45, 22, 32, 77, 45, 77, 77}

在执行数组操作以查找出现次数最多的数组元素后,结果如下:

最常见的元素是 – 77

步骤

  • 步骤 1 - 声明并初始化一个整数数组。

  • 步骤 2 - 声明并初始化一个 int 变量 max_count,将其初始化为 0。另外声明一个 int 变量 count,用来追踪数组中元素出现的次数。

  • 步骤 3 - 检查条件 count > max_count。然后将 count 的值分配给 max_count。

  • 步骤 4 - 最后,打印具有 max_count 值的元素。

语法

要获取数组的长度(数组中的元素数量),数组有一个内置属性即 length

以下是其语法:

array.length

其中,’array’指的是数组引用。

多种方法

我们提供了不同的解决方案。

  • 通过使用数组元素的静态初始化

  • 通过使用用户定义的方法

让我们逐个看看程序及其输出。

方法1:通过使用数组元素的静态初始化

示例

在这种方法中,数组元素将在程序中初始化。然后按照算法获取数组中最频繁的元素。

public class Main{

   //main method
   public static void main(String[] args){

      //Declare and initialize the array elements
       int[] arr = { 1, 2, 3, 1, 5, 7, 5, 5, 9 };

      //get the length of the array
      int n = arr.length;
      int max_count = 0;
      int maxfreq = 0;

      //Logic implementation
      for (int i = 0; i < n; i++){
         int count = 0;
         for (int j = 0; j < n; j++){
            if (arr[i] == arr[j]){
               count++;
            }
         }

         if (count > max_count){
            max_count = count;
            maxfreq = arr[i];
         }
      }
      //print the result
      System.out.print("Most frequent element is: " + maxfreq);
   }
}

输出

Most frequent element is: 5

方法2:使用用户定义的方法

示例

在这种方法中,数组元素将在程序中初始化。然后通过将数组作为参数传递并在方法内根据算法获取数组中出现频率最高的元素来调用用户定义的方法。

public class Main{

   //main method
   public static void main(String[] args){

      //Declare and initialize the array elements
      int[] arr = { 1, 2, 3, 1, 5, 7, 5, 5, 9 };

      //get the length of the array
      int n = arr.length;

      //call the user defined method and print the result
      System.out.print("Most frequent element is: " + freq(arr, n));
   }

   //user defined method
   public static int freq(int[] arr, int n){
      int max_count = 0;
      int maxfreq = 0;

      //Logic implementation
      for (int i = 0; i < n; i++) {
         int count = 0;
         for (int j = 0; j < n; j++) {
            if (arr[i] == arr[j]) {
               count++;
            }
         }

         if (count > max_count) {
            max_count = count;
            maxfreq = arr[i];
         }
      }
       return maxfreq;
   }
}

输出

Most frequent element is: 5

在本文中,我们探讨了如何在Java中找到数组中出现最频繁的元素。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程