1 回答

TA贡献2036条经验 获得超8个赞
如果 Leetcode 运行 Python 3.5 或更早版本,那么字典实现是无序的。请参阅为什么字典和集合中的顺序是任意的?
这里不需要字典,反正你可以完全去掉字典:
class Solution(object):
def decompressRLElist(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
l = []
for i in range(0, len(nums), 2):
k = nums[i+1]
v = nums[i]
for j in range(v):
l.append(k)
return l
实际上,您的字典解决方案是不正确的,因为相同的值可能会多次出现在 LRE 中,长度不同;这是一个简单的例子,可以证明这个问题:
[
3, 42,
2, 17,
4, 42
]
这应该扩展为:
[
42, 42, 42,
17, 17,
42, 42, 42, 42
]
但是您的解决方案会输出不正确的结果,因为首先将输入放入字典d意味着您然后操作{42: 4, 17: 2},因此您输出
[
42, 42, 42, 42,
17, 17
]
添加回答
举报