💡 原文英文,约2200词,阅读约需8分钟。
📝

内容提要

这篇文章剧透了如何使用SQL解决2022年第18天的挑战“沸腾的巨石”,并提供了解决问题的一般思路。建议先尝试使用自己喜欢的编程语言解决问题。文章还提供了第18天挑战的教程和输入文件的格式。任务是确定熔岩巨石的总表面积。使用递归CTE来解决问题,遍历每个立方体并计算与其相邻的其他立方体的数量。通过减去被阻挡的面的数量,得到表面积的解决方案。这个SQL查询在真实数据集上运行时间为1.1秒。

🎯

关键要点

  • 文章介绍了如何使用SQL解决2022年第18天的挑战“沸腾的巨石”。
  • 建议读者先尝试使用自己喜欢的编程语言解决问题。
  • 提供了第18天挑战的教程和输入文件格式。
  • 任务是确定熔岩巨石的总表面积。
  • 使用递归CTE遍历每个立方体并计算与其相邻的其他立方体数量。
  • 通过减去被阻挡的面的数量,得到表面积的解决方案。
  • SQL查询在真实数据集上运行时间为1.1秒。
  • 第二部分需要考虑空气的影响,识别哪些空气块是“漏气”的。
  • 创建表格存储信息,包括块的类型(岩石或空气)和是否漏气。
  • 使用UPDATE语句跟踪状态并修改每个块的属性。
  • 通过函数传播漏气状态,计算与漏气空气块相接触的岩石面数量。
  • 绘制熔岩巨石的函数使用Unicode符号和ASCII颜色进行可视化。
  • 最终结果显示出熔岩巨石中存在一个大的空气口袋。
➡️

继续阅读