当前位置:网站首页>[1200. Différence absolue minimale]

[1200. Différence absolue minimale]

2022-07-04 20:56:00 Qianbei

Source::Boucle de force(LeetCode)

Description:

Pour vous donner un tableau entier arr,Chacun de ces éléments C'est différent..

Trouvez toutes les paires d'éléments avec la plus petite différence absolue,Et revenir dans l'ordre croissant.

Exemple 1:

Entrée:arr = [4,2,1,3]
Produits:[[1,2],[2,3],[3,4]]

Exemple 2:

Entrée:arr = [1,3,6,10,15]
Produits:[[1,3]]

Exemple 3:

Entrée:arr = [3,8,-10,23,19,-4,-14,27]
Produits:[[-14,-10],[19,23],[23,27]]

Conseils:

  • 2 <= arr.length <= 105
  • -106 <= arr[i] <= 106

Méthodes:Trier + Une traversée

Idées et algorithmes

1
Code:

class Solution {
    
public:
    vector<vector<int>> minimumAbsDifference(vector<int>& arr) {
    
        int n = arr.size();
        sort(arr.begin(), arr.end());

        int best = INT_MAX;
        vector<vector<int>> ans;
        for (int i = 0; i < n - 1; ++i) {
    
            if (int delta = arr[i + 1] - arr[i]; delta < best) {
    
                best = delta;
                ans = {
    {
    arr[i], arr[i + 1]}};
            }
            else if (delta == best) {
    
                ans.emplace_back(initializer_list<int>{
    arr[i], arr[i + 1]});
            }
        }

        return ans;
    }
};

Temps d'exécution:52 ms, Dans tous les C++ Battu dans la soumission98.35%Utilisateurs de
Consommation de mémoire:31.3 MB, Dans tous les C++ Battu dans la soumission86.32%Utilisateurs de1
author:LeetCode-Solution

原网站

版权声明
本文为[Qianbei]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207041936120104.html

随机推荐