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