python题目:给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的【杭州多测师】【杭州多测师_王sir】
//题目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)