【发布时间】:2018-03-24 11:59:25
【问题描述】:
我有一个数组,我想在新用户投票时增加它的元素。
例如,如果有 10 个选项,从 1 到 10,并且一位用户投票i=3,那么编写起来很容易:
A[i] = A[i] + 1;
如果选项从“A”到“I”,我该怎么做?因为我不能用字母来指向特定的数组元素。
对于几千个用户,我不想做一个嵌入式循环,在其中搜索数组的所有元素以查看每次选择“i”对应于哪个元素。
我可以在 O(n) 时间内完成吗?
【问题讨论】:
-
您可以将字母转换为数字,然后将其用作索引。如何做到这一点取决于语言。例如C 将是
i=option-'A' -
请添加语言标签或与语言无关的标签
-
@LoztInSpace 感谢您的回答!语言是 python。
-
使用字典而不是列表。然后是 O(1) 递增(一次 - O(n) 对于 n 个用户)
-
你能提供一个输入和输出的例子吗(见Minimal, Complete, and Verifiable example)
标签: python loops optimization