当前位置: 首页 > news >正文

算法 | 整理数据结构 | 算法题中,JS 容器的选择

总结:算法题 JS 容器选择速查表

需求用什么
是否出现过Set
不同元素个数Set.size
频率统计Map
顺序访问Array / String
随机访问Array / String
去重Set
哈希查找Set / Map

JS 容器范式手册:Set、Map、字符串、数组

注意,区分 “值容器”和“结构容器


一、String(字符串)范式

字符串是只读的、类数组结构

let s = "abcde"; s.length // 5 s[0] // "a" s.charAt(0) // "a" // 算法遍历范式: for (let i = 0; i < s.length; i++) { let ch = s[i]; }

二、Array(数组)范式

数组是有序容器 + 有 length

let arr = [10, 20, 30]; arr.length // 3 arr[1] // 20 // 遍历范式: for (let i = 0; i < arr.length; i++) {} for (const x of arr) {} // 判重(慢): arr.includes(x) // O(n)

三、Set(去重集合)范式

Set = 无序、唯一元素集合

let set = new Set(); set.add("a") set.add("b") set.add("a") // 不会重复 set.size // 2

算法题标准用法

1️⃣ 统计不同元素
let set = new Set(); for (let x of arr) { set.add(x); } let distinct = set.size;
2️⃣ 判断是否存在

set.has(x)

3️⃣ 清空集合

set.clear()


四、Map(计数器 / 哈希表)范式

Map = key → value(非常适合频率统计)

let map = new Map();

1️⃣ 计数范式(高频)

for (let ch of s) { map.set(ch, (map.get(ch) || 0) + 1); }

2️⃣ 取值

map.get("a") // undefined 或 数字

3️⃣ 判断是否存在

map.has("a")

http://www.jsqmd.com/news/230762/

相关文章:

  • 导师严选 2026 8款AI论文软件测评:本科生毕业论文全攻略
  • Nodejs+vue大学生二手电子数码产品交易平台设计与实现 _39qu9
  • 14.设计模式-备忘录模式
  • 15.设计模式-组合模式
  • Nodejs+vue大学生二手闲置物品置换交易管理系统
  • 2026年10款最佳降AI率工具推荐:论文AIGC检测轻松过关
  • Nodejs+vue大学生兼职应聘评分管理系统h4bmt
  • 导师不会告诉你的6个免费AI论文工具:1小时搞定全文告别熬夜
  • Nodejs+vue大学生兼职招聘评价系统_b8t93
  • 2025年同济大学计算机考研复试机试真题(解题思路 + AC 代码)
  • 2025年山东大学计算机考研复试机试真题(解题思路 + AC 代码)
  • 输入聚食的人数,预算和口味偏好,自动推荐附近的餐厅,还能生成聚餐菜单。
  • Unity3D AI Navigation 详解:从基础概念到实战应用
  • matlab实时脚本算拉普拉斯反变换和画图
  • 电-气-热综合能源系统耦合优化调度Matlab代码
  • Unity AI Navigation 从 0 到 1:一篇吃透新 NavMesh 系统的实战
  • (8-1)自动驾驶中的无地图环境路径探索:D* Lite算法简介
  • (8-2-01)自动驾驶中的无地图环境路径探索:基于Pygame的交互式路径规划器(1)
  • 计及多能耦合的区域综合能源系统电气热能流计算Matlab实现
  • Unity 的AI Navigation 系统详细总结
  • Unity3D AI Navigation 完全指南:从基础到实战,让角色智能导航
  • Unity3D AI导航系统完全指南:从核心概念到动画耦合
  • RabbitMQ在大数据风控系统中的应用案例
  • CRM服务质量差?提示工程架构师的3个Prompt解决方案
  • AI智能侦测开箱即用方案: Docker镜像+示例代码全家桶
  • AI安全技能树:零基础到精通的资源地图
  • 智能实体哨兵系统:7×24小时云端值守,月费不足人力1/10
  • 智能监控AI懒人包:一键部署复杂模型,省去7天配置时间
  • 跨平台用户画像构建:多源数据实体对齐,隐私合规
  • 【46】骰子数据集(有v5/v8模型)/YOLO骰子点数检测