本文是关于 Advent Of Code 2022 的。
编程圣诞日历,圣诞节前每天一个编程问题。

有兴趣的朋友可以在官网答题,用自己喜欢的编程方式去收集星星⭐️。在官网答题需要登陆并下载为你单独生成的谜题输入,每个人的都不一样。

问题

这个问题简单来说就是获取多个组的数字,找到其中最大的一个,part 2 同理找到最大的三个,非常简单的热身题。

第一部分

圣诞老人的驯鹿通常吃普通的驯鹿食物,但他们需要大量的神奇能量来在圣诞节送出礼物。为此,他们最喜欢的零食是一种特殊的⭐️果,只生长在丛林深处。精灵们每年都会带你到生长这种水果的小树林里探险。

为了提供足够的魔法能量,探险队需要在12月25日之前取回至少50颗星星⭐️。虽然精灵们向你保证小树林里有很多水果,但你还是决定抓起沿途看到的任何水果,以备不时之需。

通过解开谜题来收集星星。在降临节日历的每一天,都会有两个谜题;当你完成第一个谜题时,第二个谜题就会被解锁。每个谜题可以获得1颗星⭐️。祝您好运!

丛林一定是杂草丛生,难以用车辆导航或从空中进入;精灵们的探险队传统上是步行。当你的船接近陆地时,精灵们开始清点他们的物资。一个重要的考虑因素是食物–特别是每个精灵携带的热量数量(你的谜题输入)。

精灵们轮流写下他们所带的各种食物、零食、口粮等所含的热量数量,每行一个项目。每个精灵用一条空行将自己的清单与前一个精灵的清单(如果有的话)分开。

例如,假设精灵们写完了自己物品的热量,最后得到的清单如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1000
2000
3000

4000

5000
6000

7000
8000
9000

10000

这个列表代表了五个精灵携带的食物的热量。

  • 第一个精灵携带的食物有100020003000热量,总共有 6000 热量。
  • 第二个精灵携带的食物有 4000 热量。
  • 第三只精灵携带的食物有50006000热量,总共 11000 热量。
  • 第四个精灵携带的食物有700080009000热量,共计 24000 热量。
  • 第五只精灵携带的食物有 10000 热量。

万一精灵们饿了,需要额外的零食,他们需要知道问哪个精灵:他们想知道携带最多热量的精灵所携带的热量是多少。在上面的例子中,这就是*24000* (由第四只精灵携带)。

找到携带热量最多的精灵。该精灵携带的总热量是多少?

第二部分

当你计算出精灵们问题的答案时,他们已经意识到,携带最多热量食物的精灵最终可能会耗尽零食

为了避免这种不可接受的情况,精灵们反而想知道携带热量最多的前三名精灵所携带的总热量。这样一来,即使其中一个精灵的零食吃完了,他们仍然有两个备份。

在上面的例子中,前三个精灵是第四个精灵(有24000热量),然后是第三个精灵(有11000热量),然后是第五个精灵(有10000热量)。这三个精灵携带的热量之和为 45000

找到携带热量最多的前三个精灵。这些精灵总共携带多少热量?

阅读全文 »

Rust 是一门 命令式编程 的语言,并且借鉴了一些 函数式编程 的概念。
Rust 围绕于 代码安全稳定性 的概念,这代表没有任何东西的类型可以是 NullRust 不存在 Null
这个概念。同时任何有机会出错的代码都会建议你进行错误处理,导致程序发生错误并且崩溃的机会非常低。
Rust内存安全 不使用 垃圾收集器 来实现,而是靠 所有权生存周期 实现的。并且在我看来,Rust
开发者在解决这个问题的同时,解决了所有我在意的问题。

阅读全文 »
0%