Day 1: Historian Hysteria | Advent of Code 2024 | Swift | 中文

Day 1: Historian Hysteria | Advent of Code 2024 | Swift | 中文

💡 原文中文,约3500字,阅读约需9分钟。
📝

内容提要

作者参加了2024年Advent of Code,解决了两个部分的题目。第一部分计算星星之间的总距离,使用排序和绝对值方法。第二部分计算数字的相似度,利用哈希映射统计出现次数并求和。希望能完成整个挑战。

🎯

关键要点

  • 作者参加了2024年Advent of Code,解决了两个部分的题目。

  • 第一部分计算星星之间的总距离,使用排序和绝对值方法。

  • 第二部分计算数字的相似度,利用哈希映射统计出现次数并求和。

  • 数据源以换行符分隔,并用三个空格分隔左右半边。

  • 第一部分的代码通过两次分割和转型整理成两个整数数组。

  • 计算距离时使用绝对值,以避免负值。

  • 第一部分的时间复杂度为O(nlogn),空间复杂度为O(n)。

  • 第二部分计算相似度时,使用哈希映射来统计右半边数列的出现次数。

  • 第二部分的时间复杂度为O(n),空间复杂度为O(n)。

  • 作者希望能完成整个Advent of Code挑战,并欢迎反馈和建议。

延伸问答

2024年Advent of Code的第一部分题目是什么?

第一部分题目是计算星星之间的总距离。

如何计算星星之间的总距离?

通过对左右数列进行排序,然后计算绝对值差的总和。

第二部分的题目要求是什么?

第二部分要求计算数字的相似度,统计左半边数列中每个数字在右半边数列中的出现次数。

在第二部分中,如何实现数字相似度的计算?

使用哈希映射统计右半边数列的出现次数,然后计算左半边数列中每个数字的总和。

第一部分的时间复杂度和空间复杂度分别是多少?

时间复杂度为O(nlogn),空间复杂度为O(n)。

作者对完成Advent of Code 2024的挑战有什么期望?

作者希望能完成整个Advent of Code挑战,并欢迎反馈和建议。

🏷️

标签

➡️

继续阅读