感觉问题不复杂,看了你的代码手机看的看不清+头疼。先定义俩个和所求数组一样长度的数组用length,先用外循环遍历数组,定义一个int s=0来控制索引,内循环把取出来的数和后面的比较如果重复给变量num自加一当循环到最后一个开始判断如果num为0就代表这数不重复,如果不为0就代表次数重复把外循环来的值付给数组a[s] s自加把num付给a[s] s自加。这样就能得到一个{重复数,个,重复数,个数……}的结果了,还有当拿后面的数和更后面的比较时怎么判断这个数是否是前面已经重复的了,这是就用第二个数组b了用来标记哪些数不必再用了,当有重复的数是就在对应位置把b[j]赋值1这步要放在内循环中,在外循环中在加一个判断当从arr取数时如果对应位置的数组b中的元素为1就不用取该数了因为是前面重复的跳过继续下一次循环即可,最后a就是你要的结果,如果非要那个字符串数组的话,用连接符和=连起来就行了。其实和你的也差不多!呵呵
|