lintcode刷題 最小差

2021-08-06 07:45:04 字數 611 閱讀 9592

原題如下:

最小差 

給定兩個整數陣列(第乙個是陣列a,第二個是陣列b),在陣列 a 中取 a[i],陣列 b 中取 b[j],a[i] 和 b[j]兩者的差越小越好(|a[i] - b[j]|)。返回最小差。

您在真實的面試中是否遇到過這個題?

yes

樣例給定陣列 a =[3,4,6,7], b =[2,3,8,9],返回0

做題思路:

1、首先能想到的方法就是最笨的辦法,暴力的雙重迴圈,遍歷a和b裡面的每乙個資料進行對比,顯然這種方法複雜度太高,稍加思考,對方法改進;

2、對a和b陣列裡面的數字可以先進行排序,然後用一層迴圈,對a和b當前的資料進行比較,如果有相等的,最小差必然為0,如果沒有,則取最小的。

具體的c++**如下:

class solution

else if(l2==0)

else if(l1==0&&l2==0)

else

j++;

}else

}return sub;}}

};

LeetCode刷題筆記 910 最小差值 II

給定乙個整數陣列 a,對於每個整數 a i 我們可以選擇 x k 或是 x k,並將 x 加到 a i 中。在此過程之後,我們得到一些陣列 b。返回 b 的最大值和 b 的最小值之間可能存在的最小差值。示例 1 輸入 a 7,8,8,5,2 k 4 輸出 5 示例 2 輸入 a 4,8,2,7,2 ...

最小差值 小水題

密碼gdutacm 最小差值 給出乙個整數陣列a1,a2,an,求陣列中兩個數的最小差值。即在陣列中找 ai 和 aj 使得 ai aj 的值最小,並且 i j。input 輸入的第一行是乙個整數t,表示有t組資料。1 t 50。每組資料第一行輸入乙個整數n,第二行輸入n個整數 a1,a2 an。1...

LintCode刷題隨筆

給出乙個陣列nums包含n 1個整數,每個整數是從1到n 包括邊界 保證至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。1.不能修改陣列 假設陣列只能讀 2.只能用額外的o 1 的空間 3.時間複雜度小於o n 2 4.陣列中只有乙個重複的數,但可能重複超過一次 您在真實的面試中是...