好久没更新博客了,写博客分享是个好习惯,发现坚持是比较难得的一件事情。
2021年第一更,就写一篇比较简单常用的算法入门题吧,主要是利用程序算法思想,求数组中每个元素出现的次数。
先看一下需求描述:
现在有一列数组:
a[0] , a[1] , a[2] , ...... a[n-1]
求这列数组中每个元素出现的次数
打印格式: {a[0]=次数,a[1]=次数,......a[m]=次数}
打印说明:打印结果中,a[m]不重复打印,a[m]可以不按照数组顺序
拿到这样一道题,我们脑海中可能想到很多种方式来解决这个问题,看一下以下总结的两种经典做法吧。
1、纯数组方式
/**
* 用数组的方式,求数组中每个元素出现的次数
* @param arr
*/
public void ArrNumOfEveryone(int arr[]) {
int b[] = new int[100]; //用于存放数组中每个元素出现的次数,对应关系arr[i]->b[i]
for(int i = 0 ;i<=arr.length-1;i++)
for(int j=0 ; j<=arr.length-1;j++) {
if(arr[i]==arr[j]) {
b[i]++;
}
}
//打印第一个元素及其出现的次数
System.out.print("{"+arr[0]+&#