题目: 实现一个函数,查找一个整数数组中第二大数。 算法思想: 设置两个变量max1和max2,用来保存最大数和第二大数,然后将数组剩余的数依次与这两个数比较,如果这个数a比max1大,则先将max1赋给max2,使原先最大的数成为第二大的数,再将这个数a赋给max1,如果这个数a比max1小 ...
今天来说一个简单的需求:在一个序列中找到第二大的元素。 一眼看到这个问题,感觉解决的方法有很多,因为这并不是一个困难的问题。随便一想,能有下面几种解法: 首先排序,然后取第二个位置的元素 循环遍历元素序列,找到最大的元素,然后将其移除。再重复此过程,得到第二大的元素 当然还有其他的思路,这里就不一一列举了。如果大家有什么好的想法,可以给我留言,咱们一起探讨。 仔细分析一下,不难发现,上面的方法虽然 ...
2012-03-06 10:35 65 11703 推荐指数:
题目: 实现一个函数,查找一个整数数组中第二大数。 算法思想: 设置两个变量max1和max2,用来保存最大数和第二大数,然后将数组剩余的数依次与这两个数比较,如果这个数a比max1大,则先将max1赋给max2,使原先最大的数成为第二大的数,再将这个数a赋给max1,如果这个数a比max1小 ...
找到第二大数,具体的形式如下:先定义两个变量:一个变量用来存储数组的最大数,初始值为数组首元素,另一个变 ...
前两天面试的过程中问道的一个算法题,题目不算难,但是一步步分析优化的过程我觉得挺受启发,所以拿出来分享一下。 题目要求很简单,就是找出给定数组中第二大的数,略微思考之后我给出了下面的答案,即使用执行两次迭代,使用冒泡排序将两个最大值移动到数组末尾,数组中倒数第二个值即为要求的第二大的值 ...
解题思路很简单,设置俩个变量最大值和第二大值 1、若输入值大于最大值则最大值赋值给第二大值,输入值赋值给最大值 2、若输入值小于最大值则赋值给第二大值即可 具体代码如下: ...
有一个int类型的数组,如何找出里面第二大的数,同时算法的时间复杂度是多少? 遍历解法: 思路:第一轮遍历找出第一大MAX,第二轮遍历找出第二大MAX2。 冒泡解法: 思路:第一轮倒序冒泡将最大数沉到最左,第二轮将次大数沉到次左。 ...
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:找出数组中第2大的数字 ''' def ...
思路:如果当前元素大于最大数 a1,则让第二大数a2等于原来的最大数 a1,再把当前元素的值赋给 a1 ...
设置两个数值来表示最大数和第二大数,在循环比较赋值即可 测试代码: 运行结果: smax = 4 ...