//题目2:给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。
//注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。
//输入: [1,2,4,7,10,11,7,12,6,7,16,18,19]
//输出: [3,9]

def partSort(input_list):
    sort_list = []
    for i in input_list:
        sort_list.append(int(i))
    sort_list.sort()
    left = -1
    right = -1
    for i in range(len(input_list)):
        if int(input_list[i]) != sort_list[i]:
            if left == -1:
                left = i
            right = i
    return (left, right)
if __name__ == '__main__':
    input_str = input('请输入待排序序列,逗号隔开:')
    input_list = input_str.split(',')
    sort_tuple = partSort(input_list)
    sort_list = list(sort_tuple)
    print(sort_list)

 

原文地址:http://www.cnblogs.com/xiaoshubass/p/16852181.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性