zoukankan      html  css  js  c++  java
  • 116th LeetCode Weekly Contest Maximum Width Ramp

    Given an array A of integers, a ramp is a tuple (i, j) for which i < j and A[i] <= A[j].  The width of such a ramp is j - i.

    Find the maximum width of a ramp in A.  If one doesn't exist, return 0.

    Example 1:

    Input: [6,0,8,2,1,5]
    Output: 4
    Explanation: 
    The maximum width ramp is achieved at (i, j) = (1, 5): A[1] = 0 and A[5] = 5.
    

    Example 2:

    Input: [9,8,1,0,1,9,4,0,4,1]
    Output: 7
    Explanation: 
    The maximum width ramp is achieved at (i, j) = (2, 9): A[2] = 1 and A[9] = 1.
    

    Note:

    1. 2 <= A.length <= 50000
    2. 0 <= A[i] <= 50000

    题意在解释里说的很清楚了,就看怎么想。

    首先保证后面的数字比前面的是大于等于关系,这个排序可以搞定,然后到这个数为止,前面数字的位置里最小的数是谁,减去就好了

    struct P{
        int num;
        int pos;
    }H[50002];
    bool cmp(P a,P b){
        if(a.num == b.num){
            return a.pos<b.pos;
        }else{
            return a.num<b.num;
        }
    }
    class Solution {
    public:
    
        int maxWidthRamp(vector<int>& A) {
            int len = A.size();
            for(int i=0;i<len;i++){
                H[i].num = A[i];
                H[i].pos = i;
            }
            sort(H,H+len,cmp);
            int Min = H[0].pos;
            int sum = -1;
            int cum = 0;
            for(int i=1;i<len;i++){
                //cout<<H[i].pos<<" "<<Min<<endl;
                if(Min > H[i].pos){
                    Min = H[i].pos;
                }else{
                    
                    cum = H[i].pos - Min;
                    sum = max(sum,cum);
                }
                
            }
            if(sum == -1){
                sum = 0;
            }
            return sum;
        }
    };
  • 相关阅读:
    DVS6446教程链接
    今晚做的二值化和分割
    Sybase ETL
    QR码的结构
    cannot open file Default/configPkg/linker.cmd 错误
    QR 码的位置检测符
    QR Code
    C6000 OMAP DAVINCI的关系
    Davinci笔记 DSP子系统 VS ARM子系统
    ETL简介
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/10166554.html
Copyright © 2011-2022 走看看