1045. 快速排序(25)--Python
2017-11-27 19:54
295 查看
这个开始看的数据这么大,应该很容易超时。的确,在第一次编写完后,只有测试点0过了,然后别的都是超时,所以就到网上找了找思路,发现了一种不错的判断主元的方法,就是把排好序的列表与原始列表进行比较,看看有哪些元素的位置没有发生改变,这些元素若是还是原始列表从头到现在的最大值,则有可能是主元,保存结果。
本来以为借用了大牛的思路,可以顺利的通过,谁知道测试点2又说格式错误,而且在反复提交的时候测试点1有时还会报超时, 真是跪了,每次遇见这种处理大数据的程序,老是挂,格式错误也没有发现是什么鬼。
大神的链接
#将字符串类型的数据改为整数类型的,便于比较大小
def get_int(list):
list_2 = []
for num in list:
num = int(num)
list_2.append(num)
return list_2
num = input()
num = int(num)
string = input()
list = string.split() #存放正常的数据列表
list = get_int(list)
my_list = string.split() #存放有序的数据列表
my_list = get_int(my_list)
my_list.sort()
list_1 = []
#判断列表中的每一个元素是否为主元
length = len(list)
max = 0
for i in range(length):
if list[i] > max:
max = list[i]
if list[i] == my_list[i] and max == list[i]:
list_1.append(max)
count = len(list_1)
print(count)
#从小到大输出结果
list_1.sort()
for n in list_1:
if n == list_1[-1]:
print(n)
else:
print(str(n) + ' ', end = '')
本来以为借用了大牛的思路,可以顺利的通过,谁知道测试点2又说格式错误,而且在反复提交的时候测试点1有时还会报超时, 真是跪了,每次遇见这种处理大数据的程序,老是挂,格式错误也没有发现是什么鬼。
大神的链接
#将字符串类型的数据改为整数类型的,便于比较大小
def get_int(list):
list_2 = []
for num in list:
num = int(num)
list_2.append(num)
return list_2
num = input()
num = int(num)
string = input()
list = string.split() #存放正常的数据列表
list = get_int(list)
my_list = string.split() #存放有序的数据列表
my_list = get_int(my_list)
my_list.sort()
list_1 = []
#判断列表中的每一个元素是否为主元
length = len(list)
max = 0
for i in range(length):
if list[i] > max:
max = list[i]
if list[i] == my_list[i] and max == list[i]:
list_1.append(max)
count = len(list_1)
print(count)
#从小到大输出结果
list_1.sort()
for n in list_1:
if n == list_1[-1]:
print(n)
else:
print(str(n) + ' ', end = '')
相关文章推荐
- 1045. 快速排序(25)
- 1045. 快速排序(25)-PAT乙级真题
- 【PAT】1045. 快速排序(25)
- PAT乙级 1045. 快速排序(25)
- PAT乙级1045. 快速排序(25)
- C++ PAT乙 1045. 快速排序(25)
- 1045. 快速排序(25)
- 1045. 快速排序(25)
- PAT (Basic Level) Practise (中文)1045. 快速排序(25)
- 1045. 快速排序(25)
- 1045. 快速排序(25)-浙大PAT乙级真题java实现
- 1045. 快速排序(25)
- PAT Basic 1045. 快速排序(25)(C语言实现)
- 1045. 快速排序(25)
- 1045. 快速排序(25)
- 1045. 快速排序(25)
- 1045. 快速排序(25)
- 1045. 快速排序(25)
- PAT 乙级 1045. 快速排序(25)
- 1045. 快速排序(25)(C++)