lintcode入门篇十五

846. 多关键字排序

中文English

给定 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]]
class Solution:
    """
    @param array: the input array
    @return: the sorted array
    """
    '''
    大致思路:
    1.格式[学号,成绩],以成绩排序,其次学号
    '''
    def multiSort(self,array):
        for i in range(len(array)):
            for j in range(i+1,len(array)):
                if array[i][1]<=array[j][1]:
                    if array[i][1]==array[j][1] and array[i][0] < array[j][0]:
                        continue
                    temp = array[j]
                    array[j] = array[i]
                    array[i] = temp
        return array
 

上一篇:语言在线运行


下一篇:[leetcode/lintcode 题解] Amazon 面试题:滑动窗口内数的和