<s>Human: 给定一个整数列表，找到其中最大的三个数并返回它们。
[5, 3, 8, 1, 9, 2]
</s><s>Assistant: 可以使用一个类似于冒泡排序的方法来解决这个问题。

我们可以从列表的开头开始，每次找到最大的数并添加到结果列表中，直到找到前三个最大的数为止。具体做法如下：

1. 初始化一个空的结果列表`result`。

2. 对于每个i从0到2，分别进行如下操作：

    a. 找到该列表中除了已经添加到`result`中的数之外的最大值`max_num`。
    
    b. 将`max_num`添加到`result`中。
    
3. 返回`result`。

对于上述示例[5, 3, 8, 1, 9, 2]，可以按照上述方法进行计算，具体过程如下：

1. 初始化`result=[]`。

2. 对于i=0，从列表[5, 3, 8, 1, 9, 2]中找到最大的数9，并将其添加到`result`中。此时，`result=[9]`。

3. 对于i=1，从列表[5, 3, 8, 1, 2]中找到最大的数8，并将其添加到`result`中。此时，`result=[9,8]`。

4. 对于i=2，从列表[5, 3, 1, 2]中找到最大的数5，并将其添加到`result`中。此时，`result=[9,8,5]`。

5. 返回`result`。

因此，最大的三个数为9、8和5。
</s>