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

228. 汇总区间

原题:https://leetcode.cn/problems/summary-ranges/description/


题目描述:

给定一个无重复元素有序整数数组nums

区间[a,b]是从ab(包含)的所有整数的集合。

返回恰好覆盖数组中所有数字最小有序区间范围列表 。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个区间但不属于nums的数字x

列表中的每个区间范围[a,b]应该按如下格式输出:

  • "a->b",如果a != b
  • "a",如果a == b

思路还是用一个 map 来记录每个区间的范围,键为区间终点,值为区间起点和终点元组。使用Enum.reduce/3先将数组转换成区间列表,再将区间列表转换成字符串格式。每一步处理通过管道连接,elixir 求解如下:

def summary_ranges(nums) do nums |> Enum.reduce(%{}, fn x, acc -> case Map.fetch(acc, x-1) do {:ok, {s,e}} -> acc |> Map.delete(x-1) |> Map.put(x, {s,x}) _ -> Map.put(acc, x, {x,x}) end end) |> Map.values |> Enum.map(fn {s, s} -> "#{s}" {s, t} -> "#{s}->#{t}" end) end
http://www.cnnetsun.cn/news/1728775.html

相关文章:

  • 别再只懂Diffusion了!Flow Matching如何用更简单的思路搞定生成模型?
  • D3KeyHelper秘籍:暗黑破坏神3智能操作助手的全面解析与实践宝典
  • Nature|把一千个中国人的基因组拼在一起
  • 终极指南:如何将EXE文件转换为DLL的完整教程
  • HAL库串口
  • 泥泞中的 RAG
  • 潘通色和标准色是?
  • 医药专利数据库推荐:聚焦靶点、原研药与核心专利
  • 从代码生成到解释:用 Copilot 逆向学习 Kotlin 的 3 种方法
  • 不止于算个数:手把手教你用C++分析惠斯通电桥实验的测量不确定度
  • 突破文件传输瓶颈:百度网盘秒传技术的深度解析与行业应用
  • MISSA-BP分类预测模型代码功能说明
  • linux——线程相关函数
  • DC-1靶场渗透实战:从信息收集到Linux提权全流程解析
  • 2025届最火的五大降重复率方案实际效果
  • opencv透视变换实战:从算法原理到图像矫正的完整实现
  • NextFaster 电商数据库设计深度解析:从集合到产品的完整架构指南
  • 瑞典隆德大学 AI 模型血检识别 5 种神经疾病
  • ClusterFuzz架构深度解析:可扩展模糊测试平台的10大核心组件揭秘
  • WarcraftHelper:突破魔兽争霸3性能瓶颈的5个实用优化技巧
  • Perplexica数据库选型指南:SQLite与PostgreSQL对比分析
  • MaaFramework多语言绑定技术深度解析:5种主流语言集成方案对比与实践指南
  • 避坑指南:Ecology9流程创建失败的7个常见错误及解决方案(附调试技巧)
  • 实战指南:基于快马平台生成物联网智能温控pid系统代码
  • 2026届毕业生推荐的六大AI写作助手推荐榜单
  • 告别虚拟机!在Windows 11的WSL2里搞定RK3588交叉编译环境(基于gcc-linaro-7.5.0)
  • 快马平台十分钟速成:用自然语言驱动你的第一个任务管理Agent原型
  • LabVIEW发动机性能评估与故障诊断
  • 终极指南:如何通过stanford-tensorflow-tutorials可视化损失函数,轻松理解模型训练误差变化
  • 如何快速搭建专业开发者作品集:DevPortfolio项目结构深度解析