請在5*5的矩陣中找出頻度最高的元素
阿新 • • 發佈:2019-03-02
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的矩陣中找出頻度最高的元素