js算法题,帮看看thanks

js算法题,帮看看thanks

问题描述:

第1行中给出一个正整数n(不超出1000),表示菜品的数量,每个菜品使用1~n进行编号。 第2行输入若干以空格间隔的正整数,表示客人投出的最喜爱的菜品编号,以键盘结束符^Z或文件结束符结束输入。

输出格式:
每行输出一个最受欢迎的菜品编号和得票数。 菜品编号和得票数间隔1个空格。如果有并列的最受欢迎的菜品,则按编号从小到大的顺序输出每一个菜品,每个菜品占一行。

输入样例:
10
6 8 5 8 9 3 6 6 8 2 1 4 7 2 8 3 8 9 6 3 8 10 6 6
结尾无空行
输出样例:
6 6
8 6

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script type="text/javascript">
        var inputnum = window.prompt("请输入菜品数量:");
        var inputdata = window.prompt("请投出的最喜爱的菜品编号(以空格间隔):");
        var list = [];
        for (i = 1; i <= inputnum; i++) {
            list.push({ id: i, count: 0 });
        }
        console.log(list.length);
        var data = inputdata.split(' ');
        for (i = 1; i <= data.length; i++) {
            for (j = 0; j < list.length; j++) {
                if (list[j].id == data[i]) {
                    list[j].count++;
                }
            }
        }
        var text = '输出结果:\n';
        for (i = 0; i < list.length; i++) {
            if (list[i].count!=0) {
                text += list[i].id+' ' + list[i].count+'\n';
            }
        }
        alert(text);
    </script>
</body>
</html>

img

这道题变相的问你一串数字中出现最多的数字和出现次数,