题解 | #输入整型数组和排序标识,对其元素按照升序或降序进行排序#

输入整型数组和排序标识,对其元素按照升序或降序进行排序

http://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

题目: HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围:1<=n<=1000, 元素大小满足0<=val<=100000

输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序

输出描述: 输出排好序的数字

我的思路:
题目的本意应该考的是算法,而不是python内置函数
所以排序算法还是需要自己手撸的
而且我不明白为什么好多人都没考虑数据范围

def mysort(nlist, length, flag):
    for i in range(length):
        for j in range(length-i-1):
            if flag==0:
                if nlist[j]>nlist[j+1]:
                    nlist[j],nlist[j+1]=nlist[j+1],nlist[j]
            if flag==1:
                if nlist[j]<nlist[j+1]:
                    nlist[j],nlist[j+1]=nlist[j+1],nlist[j]
    return nlist

length=int(input())
while (length<1)|(length>1000):
    length=int(input())
data=input()
flag=int(input())
reco=0
nlist=data.split(' ')
nlist=[int(i) for i in nlist]
while (min(nlist)<0)|(max(nlist)>100000):
    data=input()
    reco=1
if reco==1:
    nlist=data.split(' ')
    nlist=[int(i) for i in nlist]
#其实还遗漏了一点,就是输入的长度和数组的长度没做比较,暂时不写了
print(*mysort(nlist, length, flag), end=' ')
全部评论

相关推荐

07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-25 18:29
点赞 评论 收藏
分享
人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务