計算陣列中各型別的數有幾種,分別是什麼

2021-07-17 05:19:22 字數 731 閱讀 6066

如題,對於乙個陣列 int arr=;,含有10 12 2 三種數,每種數的個數分別為1,2,2

輸出的結果為10 出現過1次  12出現過兩次 2出現過兩次

想法:利用鍵值對儲存,鍵是陣列中不重複的值

值是那些數字出現的次數

遍歷這個陣列,對陣列的每乙個數都判斷這個數字之前出現過沒有。若沒出現過,加入鍵陣列,並且值加1.若出現過,遍歷鍵陣列

判斷在哪出現過,並且將其值加1

public class count;

int count=0; //記錄出現的型別總數

int jian=new int [arr.length];

int zhi=new int[arr.length];

int i=0;int j=0; //記錄鍵值的遞增

for(int a=0;aelse  //出現過判斷是哪乙個鍵值對

else

zhi[temp]++;}}

system.out.println("出現過"+count+"種型別,分別是");

for(int u=0;u<=i-1;u++) //-1因為i有自增操作比長度大一

}public static  boolean b(int arr,int n,int m)

return true;

}public static int nayi(int jian,int n)//判斷出現過的n在哪個鍵值對出現

return -1;}}

java 計算陣列中的最大,次大,最小,次小的數

求出最大最小,次大,次小 int nums int max nums 0 最大值 int min nums 0 最小值 for int i nums if i min int maxth nums 0 次大 int minth nums 0 次小 for int m nums if m minth ...

演算法32 計算陣列中的逆序對

設 a 1.n 是乙個陣列,如果對於 i j 有 a i a j 則 a i 和 a j 構成一對逆序。給定乙個陣列,計算陣列中逆序對的個數。例如陣列 a 則 是逆序對,返回 3。兩個 for 迴圈列舉所有的數對,如果是逆序對,則 count 最終返回 count 即可。時間複雜度 o n 2 如下...

歸併排序計算陣列中的逆序對

題目描述 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 輸入描述 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 1...