数组里面都是数字 不包含字符串,我递归用不好,有没有大佬教一下
3条回答 默认 最新
- 幻灰龙 2021-05-16 22:17关注
topK 你用堆排序算法改改就好了,参考:JavaScript: Sort a list of elements using Heap sort - w3resource
如果是这个需求:
>比如第一题选A,则在第一种性格数+1,选B则第八种性格数+1,第二题选A是第四种性格数+1,选B则是第三种性格数+1。
设置数组描述你的需求:
* 用 0-8 描述9种性格
* 用长度为2的数组描述选择A还是B
那么,36题目的选择数组如下,一共36个元素,每个元素是一个选A或B时对应的性格ID
select = [ [0,7], [3, 2], ...]
用一个长度为9的数组表示每个性格被选择的次数,初始时都是0: count = [0,0,0,0,0,0,0,0,0]
那么第i道题目选择时
* 选择A则: count[select[i][0]] += 1
* 选择B则: count[select[i][1]] += 1
最后,你要计算前3的性格,数据这么小,直接排序获得即可:
v.map((c,i)=>({value:c,index:i})).sort((a,b)=>a.value-b.value).slice(0,3)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上