作业三——求左部分中的最大值减去右部分最大值的绝对值,最大是多少

简介: 给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。

给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?

给定整数数组A和数组的大小n,请返回题目所求的答案。

测试样例:

[2,7,3,1,1],5

返回:6

 

解法:利用大顶堆。

 

class MaxGap {
public:
    int findMaxGap(vector<int> A, int n) {
        if(n<=0) return 0;
        
        //先从左到右利用大顶堆,记录0到n-2时的每一位的堆顶
        //再从右向左,利用大顶堆,记录n-1到1时的每一位的堆顶
        //之后求两个数组的差值
        vector<int>left, right;
        priority_queue<int>bigTopHeap;
        for(int i=0;i<n-1;i++){
            bigTopHeap.push(A[i]);
            left.push_back(bigTopHeap.top());
        }
        
        //清空大顶堆
        priority_queue<int>bigTopHeap2;
        for(int i=n-1;i>0;i--){
            bigTopHeap2.push(A[i]);
            right.push_back(bigTopHeap2.top());
        }
        //末尾补齐
        right.push_back(0);
        //反转里面的元素
        reverse(right.begin(),right.end());
        
        int answer=abs(left[0]-right[1]);
        for(int i=0;i<n-1;i++){
            if(abs(left[i]-right[i+1])>answer)
                answer=abs(left[i]-right[i+1]);
        }
        return answer;
    }
};

 

相关文章
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI系统】AI在不同领域的应用与行业影响
本文探讨了人工智能在计算机视觉、自然语言处理及音频处理等领域的广泛应用,并展示了其在自动驾驶、安全监控、搜索引擎优化、客户服务、语音识别及多个行业的革新作用,强调了AI基础设施与系统创新对未来社会的影响与价值。
1015 1
|
Cloud Native 关系型数据库 分布式数据库
国内首批|阿里云PolarDB通过国家标准GB18030-2022最高级别认证
阿里云瑶池旗下的云原生数据库PolarDB完成了强制性国家标准GB 18030-2022《信息技术 中文编码字符集》标准测评,通过了该标准的最高级别3级认证,成为首批通过该测评认证的关系型数据库管理软件。
|
11月前
|
监控 Serverless 云计算
探索Serverless架构:开发的未来趋势
【10月更文挑战第5天】Serverless架构,即无服务器架构,正逐渐成为云计算领域的热点。它允许开发者构建和运行应用程序而无需管理底层服务器。本文介绍了Serverless架构的基本概念、核心优势及挑战,并展示了其在事件驱动编程、微服务架构和数据流处理等场景中的应用。通过优化冷启动、使用外部存储等实战技巧,开发者可以更好地利用Serverless架构提升开发效率和应用性能。随着技术的成熟,Serverless将在未来软件开发中扮演重要角色。
|
人工智能 自然语言处理 搜索推荐
知识图谱的概念和应用
知识图谱是一种基于语义网络的人工智能技术,其目的是将大量不同领域的知识组织起来,形成一个具有结构和语义关系的知识库。它通过建立实体之间的关系,从而构建起来丰富的知识图谱。
955 0
|
传感器 IDE 中间件
(2)学习ArduPilot — 绪论
(2)学习ArduPilot — 绪论
424 0
|
SQL 存储 运维
SLS日志服务
SLS日志服务。。。。
2235 0
|
存储 安全 数据库
数据库原理是干什么的?底层原理是什么?
数据库原理是干什么的?底层原理是什么?
765 0
|
Java API Spring
Java工具篇之Spring-retry重试组件
前面我们了解到了,Guava的重试组件,我们可以基于Guava的能力,来封装我们需要的能力来满足我们的业务。今天来分享Spring-Retry重试组件。当然Spring只是帮我们封装好了,如果你不想自定义 重试组件,那么我们可以直接使用Spring的能力来实现。 API 也是非常的简单,几个注解就可以搞定。
969 0
|
存储 弹性计算 边缘计算
抖音服务器带宽有多大,才能供上亿人同时刷?今天长见识了。。
抖音,百度,阿里云,腾讯都是自建的数据中心,都是T级别出口带宽(总出口带宽),也就是达到1T=1024G/s的出口带宽,服务器总署基本都在20万台以上,甚至阿里云都超过了100万台。 字节跳动的数据中心总带宽,可能在10TB级别左右,预期突破15TB级别不远了。 一般情况下:总出口带宽1TB,实际机房出口带宽可能只有100G上下, 这是采用双(多)链路设计,双出口实现动态流量分担,总的出口带宽可以达到T级别。
1752 0
抖音服务器带宽有多大,才能供上亿人同时刷?今天长见识了。。
|
机器学习/深度学习 存储 人工智能
小冰、情感计算以及人工智能的另一条发展之路
由于人类自然的语言语音交互方式,以及天生的情感和社交需求,我们对于能与我们进行语音交互和聊天的智能应用格外关注。
606 0
小冰、情感计算以及人工智能的另一条发展之路

热门文章

最新文章