给定 n 个互不相同的正整数,求这 n 个数中的最大值和次大值。
时间: 2023-09-06 07:05:03 浏览: 148
最大值和次大值
给定n个互不相同的正整数,求其中的最大值和次大值可以通过以下方法实现。
首先,我们可以定义两个变量max和second_max来记录最大值和次大值。初始时,将max和second_max都设置为最小整数。
接下来,遍历这n个数,对于每一个数num,先判断num是否大于max。如果是,则把max的值赋给second_max,然后将num的值赋给max。如果不是,再判断num是否大于second_max,如果是,就把num的值赋给second_max。
最后,遍历完所有的数后,max的值就是这n个数中的最大值,second_max的值就是次大值。
下面是一个具体的例子来说明:
假设给定的n个数为 4, 9, 7, 2, 5
初始时,max=second_max=-∞
遍历数列,第一个数4,num>max,所以把max的值赋给second_max,然后将num的值赋给max,所以现在max=4,second_max=-∞
第二个数9,num>max,所以把max的值赋给second_max,然后将num的值赋给max,所以现在max=9,second_max=4
第三个数7,num<max,num>second_max,所以将num的值赋给second_max,所以现在max=9,second_max=7
第四个数2,num<max,num<second_max,所以不进行任何操作,保持max=9,second_max=7
最后一个数5,num<max,num>second_max,所以将num的值赋给second_max,所以现在max=9,second_max=7
所以最后得到的max=9,second_max=7,即最大值是9,次大值是7。
阅读全文