Lintcode 846. 多关键字排序

  1. 多关键字排序

给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。

样例1
输入: array = [[2,50],[1,50],[3,100]]
输出: [[3,100],[1,50],[2,50]]

样例2
输入: array = [[2,50],[1,50],[3,50]]
输出: [[1,50],[2,50],[3,50]]

这个是一个很典型的关键字排序题
用sort函数可以方便解决
只要自己编写一个比较函数即可
代码如下

class Solution {
public:
    /**
     * @param array: the input array
     * @return: the sorted array
     */
     
    static bool mysort(vector a,vector b){
        if(a[1]!=b[1]){
            return a[1]>b[1];	//成绩降序
        }else{
            return a[0]> multiSort(vector> &array) {
        // Write your code here
        sort(array.begin(),array.end(),mysort);
        return array;
    }
};

你可能感兴趣的:(lintcode)