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

Scala中补全图环字符串输出指定范围缺失行的实现问题

实现方案

核心思路是先构建序号到完整行的映射,直接按序号顺序遍历生成结果,避免插入和排序操作,实现更简洁高效。

完整代码实现

// 1. 预处理现有列表,构建 序号->完整行 的映射
val lineMap = list_result
  .filter(_.nonEmpty) // 过滤可能存在的空行
  .map { line =>
    val idx = line.takeWhile(_ != ':').toInt
    idx -> line
  }
  .toMap

// 2. 指定目标最大序号(示例为90,可按需修改)
val maxValue = 90

// 3. 按顺序生成补全后的结果列表
val filledResult = (0 to maxValue).map { idx =>
  lineMap.getOrElse(idx, s"$idx:")
}.toList

// 4. 若需要转回换行分隔的字符串,直接调用mkString即可
val resultStr = filledResult.mkString("\n")

补充说明

  • 如果需要统一所有行末尾补分号,可以调整取值逻辑:
    lineMap.get(idx) match {
      case Some(line) if line.endsWith(";") => line
      case Some(line) => s"$line;"
      case None => s"$idx:"
    }
    
  • 该方案时间复杂度为O(n + maxValue),其中n是原有列表长度,相比插入排序的方案性能更稳定,尤其适合maxValue量级不大的场景。

内容的提问来源于stack exchange,提问作者Michael Qiao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:36:02