题解 | #两种排序方法#

两种排序方法

http://www.nowcoder.com/questionTerminal/839f681bf36c486fbcc5fcb977ffe432

#主要还是按长度排序和字典排序两种算法,字典排序可以用内置sorted来做,长度排序由于不知道key,就自己手写一个冒泡来做。由于python函数def传list的参时传的是形参(指针),所以在判断那里卡了一会,解决方法是先copy一份list,再比较判断。
def mysort(l,a):
    sort_l = sorted(l)
    sort_l_length = l
    for i in range(len(sort_l_length)):
        for j in range(i,len(sort_l_length)):
            if len(sort_l_length[i]) >len(sort_l_length[j]):
                t = sort_l_length[i]
                sort_l_length[i] = sort_l_length[j]
                sort_l_length[j] = t
    
    if sort_l == a and sort_l_length == a:
        print("both")
        return
    elif sort_l == a:
        print("lexicographically")
        return
    elif sort_l_length == a:
        print("lengths")
        return
    else:
        print("none")
        return

if __name__ == '__main__':
    n = int(input())
    l = []
    a = []
    for i in range(n):
        s = input()
        l.append(s)
        a.append(s)
    mysort(l,a)

全部评论

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务