第二大整数

时间:2014-03-26 01:46:08

标签: integer

我正在尝试在我的TI计算器上编程一个程序,它使用一次通过算法找到序列中的第二大整数(不是通过对列表进行排序)。 任何人都可以帮助TI计算器程序或一般只是一个简单的程序。

1 个答案:

答案 0 :(得分:1)

算法是一个简单的算法:

# Start by getting the first two numbers (in order).

if num[1] > num[2]:
    set first to num[1]
    set second to num[2]
else:
    set first to num[2]
    set second to num[1]

# Process every other number.

for each index 3 through size(num) inclusive:
    # If greater than current highest, insert at top.

    if num[index] > first:
        second = first
        first = num[index]
    else:
        # Otherwise if greater than current second highest, insert there.

        if num[index] > second:
            second = num[index]

它基本上维护列表中的两个最高数字,并在比较所有其他数字时根据需要替换它们。这是一个要求的一次通过算法。

您可能还想考虑列表中有重复项时您想要的行为。例如,列表1 1 2目前会将1作为列表中第二高的整数。如果这是不可接受的,那么必须对算法进行小的调整。

无论如何,我给你的是一个很好的起点,将其翻译成你的TI计算器语言是我将留给你的任务。