1. 程式人生 > >請在5*5的矩陣中找出頻度最高的元素

請在5*5的矩陣中找出頻度最高的元素

temp The eat return 下標 初始化 arr 輸出 個數

/**
 * @author:(LiberHome)
 * @date:Created in 2019/3/1 19:16
 * @description:
 * @version:$
 */
/*請在5*5的矩陣中找出頻度最高的元素*/
public class page0801 {
    public static void main(String[] args) {
        int [][] arrs={{3,2,5,4,1},{10,9,3,4,2},{8,7,6,7,3},{3,3,4,1,2},{4,5,3,1,3}};
        int result=findMost(arrs);
        System.out.println(
"the answer is :"+result); } /*二度思維錯誤,並且最近一次專碩初試考過,值得記錄下來*/ /*然後,遍歷整個二維數組,將數組值作為一維數組的下標值的元素++*/ /*最後遍歷一維數組,輸出其最大值的下標*/ private static int findMost(int[][] arr) { /*首先,初始化一個長度為11的一維數組值全部為0,(因為題目給出的數字僅從0~10一共11個數字)*/ int[] temp =new int[11]; for (int i = 0; i < 11; i++) { temp[i]
=0; } /*然後,遍歷整個二維數組,將數組值作為一維數組的下標值的元素++*/ for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { temp[arr[i][j]]++; } } /*最後遍歷一維數組,輸出其最大值的下標*/ int max=0; int flag=-1;
for (int i = 0; i < temp.length; i++) { if (max<temp[i]){ max=temp[i]; flag=i; } } System.out.println("max times is:"+max); return flag; } }

請在5*5的矩陣中找出頻度最高的元素