You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何构建整数为键、列表为值的Map?含时间复杂度分析

数组元素到索引列表的映射实现及时间复杂度分析

输入数组

arr = [1,2,1,3,4,2,4,2]

需求目标

将数组元素作为映射(Map)的键,对应元素的所有索引组成的列表作为映射的值,最终得到结果:

mp = {1:[0,2],2:[1,5,7],3:[3],4:[4,6]}

实现代码(Python)

arr = [1,2,1,3,4,2,4,2]
mp = {}
for idx, num in enumerate(arr):
    # 若元素未在映射中,初始化空列表
    if num not in mp:
        mp[num] = []
    # 将当前索引添加到对应元素的列表中
    mp[num].append(idx)

时间复杂度分析

该方案只需遍历数组一次,遍历过程中对哈希表的操作(键存在性判断、列表追加元素)均为O(1)的常数时间操作,因此整体时间复杂度为O(n),其中n是输入数组的长度。

内容的提问来源于stack exchange,提问作者Anshuman Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:55:21