求陣列中第二小的數

2021-09-26 23:51:21 字數 631 閱讀 3792

一、大致思路

初始化2個最小值,firstmin,secondmin

2.遍歷所有元素,假如當前元素小於firstmin,那麼將更新firstmin,secondmin.如果小於secondmin直接更新secondmin

二、具體實現

public

class

findsecondmin

for(integer i:array)

system.out.

println()

;int result=

findsecondmin

(array,array.length)

; system.out.

println

("第二小的數是: "

+result);}

private

static

intfindsecondmin

(int

a,int n)

else

for(

int i=

2;i)else}}

return secondmin;

}}

TopK問題 求陣列中第K小的數

public class problem 01 findminknums int kheap new int k for int i 0 i k i for int i k i arr.length i return kheap public static void heapinsert int a...

求陣列中的第二大的數 不改變陣列的順序

如果用氣泡排序對數值排序,那麼演算法的效率比較低。一開始我考慮的先求出陣列的最大值和陣列的最小值,然後再迴圈陣列,求出陣列的第二大的值,這個演算法的時間複雜度是o n private static void secondarray int bb aa 0 最大值 int cc aa 0 最小值 fo...

找出第二小的數

求n個整數中第二小的數。相同的整數看成乙個數。比如,有5個數分別是1,1,3,4,5,那麼第二小的數就是3。輸入包含多組測試資料。輸入的第一行是乙個整數c,表示有c組測試資料 每組測試資料的第一行是乙個整數n,表示本組測試資料有n個整數 2 n 10 接著一行是n個整數 每個數均小於100 為每組測...