zoukankan      html  css  js  c++  java
  • 相邻最大差值

    相邻最大差值

    题目描述

    请设计一个复杂度为O(n)的算法,计算一个未排序数组中排序后相邻元素的最大差值。

    给定一个整数数组A和数组的大小n,请返回最大差值。保证数组元素个数大于等于2小于等于500。

    测试样例:
    [9,3,1,10],4
    返回:6


    桶排序+离散化

     1 class MaxDivision {
     2 public:
     3     int findMaxDivision(vector<int> A, int n) {
     4         // write code here
     5         //有点桶排序加离散化的思想
     6         int minv=A[0],maxv=A[0];
     7         for(int i=0;i<n;i++){
     8             if(A[i]>maxv) maxv=A[i];
     9             if(A[i]<minv) minv=A[i];
    10         }
    11         if(minv==maxv) return 0;
    12         int size=maxv-minv+1;
    13         int a[size];
    14         for(int i=0;i<size;i++){
    15             a[i]=0;
    16         }
    17         for(int i=0;i<n;i++){
    18             a[A[i]-minv]=1;
    19         }
    20         int sum=0;
    21         int ans=0;
    22         for(int i=0;i<size;i++){
    23             if(a[i]==0) sum++;
    24             if(a[i]==1) sum=0;
    25             if(sum>ans) ans=sum;
    26         }
    27         return ans+1;
    28     }
    29 };

  • 相关阅读:
    图形验证码---pillow
    vue富文本编辑器vue-quill-editor
    django邮件发送
    Django REST Framework JWT
    jwt验证
    使用django的用户表进行登录管理
    [转]CSRF漏洞详细说明
    Django框架10
    Django框架09
    Django框架08
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7716730.html
Copyright © 2011-2022 走看看