第二大整数

  • 本文关键字:整数 integer
  • 更新时间 :
  • 英文 :


我试图在我的TI计算器上编程一个程序,该程序使用一次传递算法(不是通过排序列表)在序列中找到第二大整数。有人可以帮助TI计算器程序,或者只是一个简单的程序。

算法很简单:

# 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计算器语言是一项任务,我把它留给你。

相关内容

  • 没有找到相关文章

最新更新