leetcode 1200

1200: 最小绝对差

思路:排序后,只需考虑相邻元素之差

把 arr 排序后,最小绝对差只能来自相邻元素(不相邻的元素之差更大)。

遍历 arr 中的相邻元素 (x,y),设绝对差为 diff=y−x,当前最小绝对差为 minDiff。

  • 如果 diff<minDiff,那么更新 minDiff 为 diff,更新答案为 [[x,y]]。

  • 如果 diff=minDiff,那么把 [x,y] 添加到答案中。

    vector<vector<int>> ans;
    ans={{x,y}};
    ans.push_back({x,y});

  • 最外层 {} 给最外层的 vector<vector<int>> 初始化;

  • 内层 {x, y} 给里面的第一个 vector<int> 初始化。

如果想再追加别的对,只要继续 ans.push_back({a, b}); 即可。

复制代码
class Solution {
public:
    vector<vector<int>> minimumAbsDifference(vector<int>& arr) {
        int n=arr.size(),min_diff=INT_MAX;
        ranges::sort(arr);
        vector<vector<int>> ans;
        for(int i=1;i<n;i++){
            int x=arr[i-1],y=arr[i];
            int diff=y-x;
            if(diff<min_diff){
                min_diff=diff;
                ans={{x,y}};
            }
            else if(diff==min_diff) ans.push_back({x,y});
        }

        return ans;
    }
};
相关推荐
ZPC82102 小时前
通过神经网络识别图像位置
人工智能·算法·机器人
时艰.2 小时前
JVM 垃圾收集器ParNew&CMS与三色标记算法
java·jvm·算法
划破黑暗的第一缕曙光2 小时前
[数据结构]:链表OJ
c语言·数据结构·链表
zy_destiny2 小时前
SegEarth-OV系列(二):面向遥感图像的无训练开放词汇分割
人工智能·深度学习·算法·机器学习·计算机视觉·语义分割·开放词汇
Python_Study20252 小时前
制造业数字化转型中的数据采集系统:技术挑战、架构方案与实施路径
大数据·网络·数据结构·人工智能·架构
Coovally AI模型快速验证2 小时前
Meta ShapeR重磅开源:多模态3D生成,从真实杂乱视频中稳健重建
人工智能·学习·算法·yolo·3d·人机交互
码农水水2 小时前
美团Java面试被问:Netty的ByteBuf引用计数和内存释放
java·开发语言·数据库·mysql·算法·面试·职场和发展
zl_vslam3 小时前
SLAM中的非线性优-3D图优化之绝对位姿SE3约束SO3/t形式(十八)
人工智能·算法·计算机视觉·3d
啊阿狸不会拉杆3 小时前
《计算机操作系统》 - 第九章 操作系统接口
人工智能·算法·计算机组成原理·os·计算机操作系统