java求數(shù)組第二大元素
來源:易賢網(wǎng) 閱讀:1535 次 日期:2015-04-16 11:37:42
溫馨提示:易賢網(wǎng)小編為您整理了“java求數(shù)組第二大元素”,方便廣大網(wǎng)友查閱!

java求數(shù)組第二大元素,假設(shè)該數(shù)組所有數(shù)都為非負整數(shù),且所有數(shù)字都各自不同。

package array;

public class SecondMaxElem {

public static int getSecondMaxElem(int[] array) {

if(array == null || array.length <= 1) {

return -1;

}

int max = array[0] > array[1] ? array[0] : array[1];

int secMax = array[0] + array[1] - max;

int len = array.length;

for(int i = 2; i < len; i++) {

int cur = array[i];

if(cur > secMax) {

secMax = cur;

if(secMax > max) { // swap

int temp = secMax;

secMax = max;

max = temp;

}

}

}

return secMax;

}

public static int getSecondMaxElem2(int[] array) {

if(array == null || array.length <= 1) {

return -1;

}

int max = array[0] > array[1] ? array[0] : array[1];

int secMax = array[0] + array[1] - max;

int len = array.length;

for(int i = 2; i < len; i++) {

int cur = array[i];

if(cur > max) {

secMax = max;

max = cur;

}

else if(cur > secMax && cur < max) {

secMax = cur;

}

else {

// 其他情況最大值和第二大值不變,可以畫一個坐標軸

}

}

return secMax;

}

public static void main(String[] args) {

int[] array = new int[] { };

/*System.out.println("算法1: " + getSecondMaxElem(array));

System.out.println("算法2: " + getSecondMaxElem2(array));

array = new int[] { 2 };

System.out.println("算法1: " + getSecondMaxElem(array));

System.out.println("算法2: " + getSecondMaxElem2(array));*/

array = new int[] { 2, 3, 1, 6, 7, 5, 9 };

System.out.println("算法1: " + getSecondMaxElem(array));

System.out.println("算法2: " + getSecondMaxElem2(array));

/*array = new int[] { 1, 2, 3, 3, 4, 5, 5 };

System.out.println("算法1: " + getSecondMaxElem(array));

System.out.println("算法2: " + getSecondMaxElem2(array));*/

}

}

更多信息請查看IT技術(shù)專欄

更多信息請查看技術(shù)文章
易賢網(wǎng)手機網(wǎng)站地址:java求數(shù)組第二大元素

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)