前端笔试题目练习笔记:统计数组中不同的数字出现的概率并排序

题目要求:有一个int型数组,里面有若干数字。要求统计出一共有多少种不同的数字?每种数字出现的频率?将数组按出现频率从少到多排列,频率相同则从小到大排列。 解决方法:用一个数组来存储不同的数字及出现概率,逐一拿出数组中的数字和数组中的其他数字进行比较,相同则把相同的那个设为null,同时将该数字对应的出现次数加1,,最后使用冒泡排序 js实现代码:

var NumberData=[1,4,5,7,8,3,1,6,4,8,4,6,9,410,12,15,12,6,20,12,5,7,8,5,2,4,1,5,6,3,10];{var result=[];result[0]=[];result[1]=[];var allDisNum=0;var index=0;//统计不同的数字for (var i = NumberData.length – 1; i >= 0; i–) {var temp=NumberData[i];if(temp){result[0][index]=temp;result[1][index]=1;for (var j = NumberData.length – 1; j >= 0; j–) {if(temp==NumberData[j]&&j!=i){result[1][index]+=1;NumberData[j]=null;}}index++;}}//排序for (var i = 0; i <result[1].length-1; i++) {for(var j=i+1;j<result[1].length;j++){var fcnt=result[1][i];var fnum=result[0][i];if(fcnt>result[1][j]|(fcnt==result[1][j]&&fnum>result[0][j])){result[1][i]=result[1][j];result[1][j]=fcnt;result[0][i]=result[0][j];result[0][j]=fnum;}}}}

幸福就是重复。每天跟自己喜欢的人一起,

前端笔试题目练习笔记:统计数组中不同的数字出现的概率并排序

相关文章:

你感兴趣的文章:

标签云: