题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
	这题标为“较难”稍微有些过了,难度都不及动态规划。其余没什么难点,难点在于当两个元素分数一样时保持原数组排序,我试过本地编辑器,不需要额外规定,但是牛客网线上V8版本需要额外写一下,具体代码如下:
let n = parseInt(readline());
let m = parseInt(readline());
let res = [];
while(line = readline()) {
    res.push(line);
}
let output = res.map(x => x.split(' ').concat([res.indexOf(x)]));
//console.log(output);
output.sort((a, b) => {
    //这是难点,当两个分数一样时,以元素出现的先后顺序排序,即可理解为index小的排在前面,index大的排在后面,则相当于按照index从小往大sort即可,如下:
    if (parseInt(b[1]) === parseInt(a[1])) {
        return a[2] - b[2];
    }
    else if (m == 0) {
        return parseInt(b[1]) - parseInt(a[1]);
    }
    else if (m == 1) {
        return parseInt(a[1]) - parseInt(b[1]);
    }
})
//console.log(output);
output.forEach(x => console.log(x.slice(0, 2).join(' ')));
 投递哔哩哔哩等公司10个岗位
投递哔哩哔哩等公司10个岗位