【发布时间】:2020-07-17 19:24:09
【问题描述】:
我正在尝试这个问题,这是一个贪心算法问题。庆功宴问题。 当我运行它时,如下所示,它说列表索引必须是整数.. 你能帮我吗,我是算法编码的新手。 我也愿意接受更好、更有效的解决方案。
问题:
a=[1,5.4,2.1,3.4,3.1,2.0,1.8,8.9,10,23,4,5,5,2,1.6,1.9]
a.sort()
q=0
z={}
for i in range(len(a)):
if (a[q]+1.0)>=a[i]:
if q not in z.keys():
z[q]=[]
z[q].append(a[i])
else:
q=a[i]
if q not in z.keys():
z[q]=[]
z[q].append(a[i])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-32-60bee6e37157> in <module>
4 z={}
5 for i in range(len(a)):
----> 6 if (a[q]+1.0)>=a[i]:
7 if q not in z.keys():
8 z[q]=[]
TypeError: list indices must be integers or slices, not float
【问题讨论】:
-
你能贴出你正在运行的代码吗?
-
我的意思是你的问题,而不是 cmets。
-
由于某种原因没有添加图片。
-
我正在尝试,但我做不到,因为我是新手,所以我无法发布有问题的图片,截至目前,我必须等待 90 分钟才能添加另一个问题。
-
不添加图片,通过编辑问题添加代码。提出新问题不会有帮助。
标签: python list algorithm greedy