找到陣列中兩個最小的元素

2021-09-27 20:40:21 字數 650 閱讀 2646

1、基本思路:設定兩個min1、min2變數,分別儲存第乙個最小的資料,第二個的資料。先將其初始化為乙個相當大的值,然後依次與陣列中的每乙個元素比較,只有當比min1大的時候才會去比較min2,如此比較下來便可以得到陣列中兩個最小的元素。

如果初始化的時候只是設定為第乙個元素的值,在特殊情況下,第乙個元素就是當前陣列中的最小值,那麼得到的便是min1=min2=(陣列的最小值),而不是兩個最小值。

如果陣列中存在兩個相同的資料,那麼只需將else if 條件中的判斷條件改為》=即可,再遇到與最小值相等的資料一樣可以得到!

public static void main(string args) ;

int temparray = ;

//int min1 = temparray[0];

//int min2 = temparray[0];

int min1 = 100;

int min2 = 100;

for (int i = 0; i < temparray.length; i++) else if (temparray[i] < min2)

} system.out.println(min1 + " " + min2);

}

求陣列中兩個元素最小距離 動態規劃

要求 給定乙個陣列,陣列中含有重複元素,給定兩個數字num1和num2,求這兩個數字在陣列 現位置的最小距離。分析 方法一 蠻力法 主要思路為 對陣列進行雙重遍歷,外層迴圈遍歷查詢num1,只要遍歷到num1,內層迴圈對陣列從頭開始遍歷找num2,每當遍歷到num2,就計算他們距離dist。當遍歷結...

交換陣列中兩個元素的位置

簡單的交換陣列中倆個元素的位置,交換後為.同樣交換倆個數字,比如這樣的 public static void swap int a,int b 然後再列印的話,實際上是交換不了的。因為此時的 a,b只是形參,我們知道形參的改變不會影響實參的變化,因此交換不了。那麼為什麼陣列可以交換呢,讓我們來看一下...

找到乙個陣列中相加為特定數值的兩個元素

思路 將值變為另一組陣列的key,將key變成值 每次迴圈的時候,target nums i 的值就是要尋找的值,而如果在乙個陣列中尋找該值,因為不知道該值的對應的key,所以沒辦法尋找,如果變成尋找key,就只需要判斷陣列有沒有這個key就可以了 function resultarr nums,t...