如何从第一个和最后一个数字始终被视为 0 的列表中找到最大的数字?

问题描述 投票:0回答:1

下面列出了示例数据。

                                      '3.268160E-02',

                                           '2.433833E-02',

                                           '2.473959E-01',

                                           '4.960246E-06',

                                           '1.470189E-05',

                                           '1.527312E-05',

                                           '8.997553E+01',

                                           '8.981999E+01',

                                           '2.700648E+02',

                                           '2.656095E+02',

                                           '2.719822E+02',

                                           '2.695895E+02'

例如,如果我有一个列表 [2, 4, 3],我想检查以下条件:

检查 2 是否大于 0(列表中的第一个数字)或者 2 是否大于 4(列表中的下一个数字)。 检查 4 是否大于 2(前一个数字)或者 4 是否大于 3(下一个数字)。 检查 3 是否大于 4(前一个数字)或者 3 是否大于 0(列表中的最后一个数字)。

我该如何实现这个?

perl
1个回答
1
投票

如果您想将它们视为数字,那就这么做吧。 Perl 会自动完成。您可以对它们进行简单的排序:

my @sorted_list = sort { $a <=> $b } @numbers;

但请记住,如果您只想要最大值,则排序成本很高,而且成本太高。

或者您可以使用

List::Util
来查找最大或最小值。

use List::Util qw(max min);
say max (@numbers);
say min (@numbers);
© www.soinside.com 2019 - 2024. All rights reserved.