有没有办法做类似的事情
\nsome_list = [int(x) for x in input().split()]\nRun Code Online (Sandbox Code Playgroud)\n但返回一个collections.deque对象而不是列表?\xc2\xa0 特别是,我试图避免创建列表并将其转换为deque(some_list)因为这会增加 O(n) 的时间复杂度,如此处所示并在此处解释。
我正在研究一个 HackerRank 问题的练习(但会避免在这里分享,以避免人们破坏寻找答案的乐趣)。\xc2\xa0 因此,我不会给出示例输出因为它只有在问题的完整背景下才有意义。\xc2\xa0 然而,我可以透露一些相关的事情,但不会冒剧透的风险。
\n我正在通过 stdin 接收非常大的列表/双端队列(最多 100k 个元素)。\xc2\xa0 它们需要在读入之后(或同时)转换为整数。
\n列表/双端队列本身中的元素介于 1 和 2 31之间。
\n我需要快速比较并从两端弹出。\xc2\xa0不需要(a)查看数据中间,也不需要(b)对其进行排序。
\n我只能使用 stdin 来获取数据,但我会提前知道列表/双端队列的大小。\xc2\xa0
\n快速的运行时执行是我们所希望的,但不幸的是我无法使用 Numpy、Pandas 和 Numba 来提供帮助。
\n由于(3)和(5),似乎该deque对象是最好的方式。\xc2\xa0 由于(1)和(5),我想立即将输入转换为整数这就是为什么我想到了列表推导式。\xc2\xa0