題目: 實現一個函數,查找一個整數數組中第二大數。 算法思想: 設置兩個變量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 ...