在过去的几个月里,我在Matlab工作后试图转向Python。这可能是一个简单的问题,但我还没有在搜索StackOverflow或Google时找到它。
我正在研究的InterviewStreet问题非常简单。这是一个插入排序问题,检查需要在列表中切换不同数量的次数。它们以下列格式给我们一个raw_input():
2
5
1 1 1 2 2
5
2 1 3 1 2
第一行是我需要排序的列表数量,所有后续偶数行是我需要排序的列表中的数字数量,以下奇数行是需要排序的实际列表。
我一开始就被困住了。我做的最好的是
STDOUT = raw_input()
打印STDOUT
由于某种原因,它只给出了所有测试用例中的第一个整数(对于这个,它是2)。
这对您来说可能很明显,但如何使用raw_input()访问其余数字?
谢谢!
P.S。请不要帮助我解决剩下的问题,我实际上想尝试自己解决它:)
答案 0 :(得分:0)
您需要为每一行拨打raw_input()
一次,如下所示:
N = int(raw_input()) # first line is number of lists
for i in xrange(N):
num_in_list = int(raw_input()) # read the number of items in list N
list = raw_input().split() # read list N
print num_in_list, list # print list N
应输出以下内容:
5 ['1','1','1','2','2'] 5 ['2','1','3','1','2']
答案 1 :(得分:0)
我正在处理同样的问题,这是raw_input()
的解决方案:
num_testcases = int(raw_input())
assert 1 <= num_testcases <= 5
for testcase in range(num_testcases):
num_elems = int(raw_input())
assert 1 <= num_elems <= 100000
elems = map(int, raw_input().split())
assert all(map(lambda x: 1 <= x <= 1000000, elems))
insertion_sort(elems)
希望它会对你有所帮助。