我有一個任務,我需要找到一個數組模式。這意味着我正在尋找最頻繁的整數。我已經有點完成了,但任務還說,如果有兩種模式是相同的,我應該返回最小的整數例如{1,1,1,2,2,2}應該給1(就像在我的文件中我使用該陣列,它給出了2)java編程和查找數組模式
public class theMode
{
public theMode()
{
int[] testingArray = new int[] {1,1,1,2,2,2,4};
int mode=findMode(testingArray);
System.out.println(mode);
}
public int findMode(int[] testingArray)
{
int modeWeAreLookingFor = 0;
int frequencyOfMode = 0;
for (int i = 0; i < testingArray.length; i++)
{
int currentIndexOfArray = testingArray[i];
int frequencyOfEachInArray = howMany(testingArray,currentIndexOfArray);
if (frequencyOfEachInArray > frequencyOfMode)
{
modeWeAreLookingFor = currentIndexOfArray;
frequencyOfMode = modeWeAreLookingFor;
}
}
return modeWeAreLookingFor;
}
public int howMany(int[] testingArray, int c)
{
int howManyOfThisInt=0;
for(int i=0; i < testingArray.length;i++)
{
if(testingArray[i]==c){
howManyOfThisInt++;
}
}
return howManyOfThisInt;
}
public static void main(String[] args)
{
new theMode();
}
}
當你看到我的算法返回最後找到的模式或我應該如何解釋它。
是的,我解決了它與我的老師一些幫助。在修改過程中有什麼幫助是在所有變量的for循環中打印的,所以我們可以跟進。完整的代碼將作爲新的答覆,感謝您的幫助,雖然它可能會幫助我。 – 2012-02-27 15:20:06