Day12力扣打卡

打卡记录

找出满足差值条件的下标 II(双指针+维护最大最小)

链接

采用双指针保留间隔 indexDifference 进行遍历,求出慢指针对应一路遍历过来的最大值和最小值。

cpp 复制代码
class Solution {
public:
    vector<int> findIndices(vector<int>& nums, int indexDifference, int valueDifference) {
        int min_idx = 0, max_idx = 0;
        for (int i = indexDifference; i < nums.size(); ++i) {
            int j = i - indexDifference;
            if (nums[j] > nums[max_idx]) max_idx = j;
            if (nums[j] < nums[min_idx]) min_idx = j;
            if (nums[i] - nums[min_idx] >= valueDifference) return {min_idx, i}; 
            if (nums[max_idx] - nums[i] >= valueDifference) return {i, max_idx};
        }
        return {-1, -1};
    }
};
相关推荐
呱呱巨基4 分钟前
Linux Ext系列文件系统
linux·c++·笔记·学习
云深麋鹿5 分钟前
三.栈和队列
开发语言·数据结构·c++·算法
爆打维c10 分钟前
01BFS算法(例题:网格传送门旅游)
c语言·c++·python·算法·leetcode·广度优先
像素猎人17 分钟前
力扣:面试题16.01.交换数字
c++·算法·leetcode·面试
小O的算法实验室17 分钟前
2024年ASOC SCI2区TOP,异构 pbest 引导的综合学习粒子群算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
AI科技星40 分钟前
从质能关系到时空几何:光速飞行理论的框架对比与逻辑验证
服务器·人工智能·线性代数·算法·矩阵
CSDN_RTKLIB1 小时前
C++仿函数
c++·算法·stl
学嵌入式的小杨同学1 小时前
【嵌入式 C 语言高频考点】周测 + 期中真题解析:从基础语法到编程实战
c语言·数据结构·数据库·vscode·算法·面试
沉默-_-1 小时前
力扣hot100双指针专题解析2(C++)
java·c++·算法·蓝桥杯·双指针
福楠1 小时前
C++ | 红黑树
c语言·开发语言·数据结构·c++·算法