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

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

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=' ')
全部评论

相关推荐

完美的潜伏者许愿简历...:隐藏信息被你提取出来了,暗示,这就是暗示
点赞 评论 收藏
分享
身边有人上海、深圳&nbsp;6、7k&nbsp;都去了,真就带薪上班了。
程序员小白条:木的办法, 以后越来越差,还是家附近宅着吧,毕业的人越来越多,岗位都提供不出来,经济又过了人口红利期
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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