当前位置: 首页 > article >正文

计算左边(比自己小的元素)的最长距离

前言:一般做的题目都是使用单调栈来求出距离这个点最近的那个比这个数大或小的元素,但是如果是需要找到最远的那个元素呢?我们可以用到类似逆序对的思路,我们先进行排序从小到大,接着我们先处理左边,每次维护一个最小的下标


题目地址

在这里插入图片描述

struct node
{
    node(){
        a = 0, id = 0;
    }
    int a,id;
    bool operator<(node b){
        if(a < b.a) return 1;
        if(a==b.a) return id < b.id;
        return 0;
    }
}sto[50005];


class Solution {
public:
    int maxWidthRamp(vector<int>& nums) {
        int n = nums.size();
        for(int i=0;i<nums.size();i++){
            sto[i].id = i; sto[i].a = nums[i];
        }
        sort(sto,sto+n);
        int ans = 0;
        int xiao = sto[0].id;
        for(int i=1;i<n;i++){
            int u = sto[i].id;
            if(u>xiao){
                ans = max(ans,u-xiao);
            }else{
                xiao = u;
            }
        }return ans;
    }
};

http://www.kler.cn/news/304032.html

相关文章:

  • Linux中常见的Docker问题及解决方法
  • Oracle rman 没有0级时1级备份和0级大小一样,可以用来做恢复 resetlogs后也可以
  • 基于python+django+vue的农业管理系统
  • 2024北京IC WORLD大会圆满收官!高频科技收获满满,同“芯”共促产业发展
  • Ai+若依(智能售货机运营管理系统---帝可得)--货道关联商品【08篇---0004:关联商品】
  • Vue:watchEffect的作用与性质
  • C++库std::clamp
  • Android Studio新建工程(Java语言环境)
  • Cassandra 和 ScyllaDB
  • Matlab初等数学与线性代数
  • 如何搭建一个自己的外卖会员卡系统?
  • Qt篇——Qt使用C++获取Windows电脑上所有外接设备的名称、物理端口位置等信息
  • 【Kubernetes】(K8S)彻底卸载详细教程
  • 瑞芯微RK3566鸿蒙开发板OpenHarmony标准系统应用兼容性测试指导
  • 孟德尔随机化分析和GWAS分析有什么区别?
  • qt使用对数坐标的例子,qchart用QLogValueAxis坐标不出图解决
  • JVM内部结构解析
  • Redis 高可用
  • 9月14日,每日信息差
  • css的选择器有哪些?权重由大到小是怎么排序的?
  • 深度学习:怎么看pth文件的参数
  • 工厂方法模式和抽象工厂模式
  • 考试:软件工程(01)
  • 非网站业务怎么接入高防IP抗DDoS
  • [PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking)
  • HTML5中Checkbox标签的深入全面解析
  • 位段、枚举、联合
  • Hazel 2024
  • 24.9.14学习笔记
  • 构造函数与析构函数的执行顺序