LeetCode 1200 最小绝对差[排序] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1200 最小绝对差[排序] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路:
首先排序,由于最小的绝对值差一定是相邻数字之间,所以两两遍历进行比较,设定一个diff差值作为最小差值,遇到更小的就更新,并清空ans,代码如下:

class Solution 
public:
    vector<vector<int>> minimumAbsDifference(vector<int>& arr) 
        int n = arr.size();
        sort(arr.begin(), arr.end());
        int diff = arr[1] - arr[0];
        vector<vector<int>> ans;
        for(int i = 1; i < n; i ++) 
            if(arr[i] - arr[i - 1] == diff) 
                ans.push_back(arr[i - 1], arr[i]);
             else if(arr[i] - arr[i - 1] < diff) 
                diff = arr[i] - arr[i - 1];
                ans.clear();
                ans.push_back(arr[i - 1], arr[i]);
             else continue;
        
        return ans;
    
;

以上是关于LeetCode 1200 最小绝对差[排序] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

1200. 最小绝对差(排序)

leetcode1200. 最小绝对差

每日一题1200. 最小绝对差

力扣今日题-1200. 最小绝对差

leetcode 0218

leetcode530 二叉树的最小绝对差