用途:帮助开发者在实现查找、计数、去重和分组时,判断该用哈希表(dict/set)还是树或有序结构。
主要能力与规则:成员测试、频次统计、去重、按 key 分组应优先使用 dict/set,平均查找为 O(1)。频次统计建议用 collections.Counter,分组建议用 defaultdict(list)。当需要有序 key 或范围查询时,改用有序容器,或在已排序列表上使用 bisect。遇到“判断 X 是否存在”或“统计出现次数”,应首先考虑 set 或 dict,不要反复扫描列表。若问题涉及两数之和等于目标值,可用 set 检查补数,把 O(n²) 嵌套循环降为 O(n)。
复杂度:哈希表平均查找 O(1),有序容器查找 O(log n)。
示例思路:两数之和中,遍历 nums,若 target - x 已在 seen 中则返回 True,否则把 x 加入 seen,整体 O(n)。
限制:资料未提供具体语言版本、安装方式、完整代码示例或性能基准,也未说明该技能是否附带工具或脚本,相关细节暂未提供。