2321. 拼接数组的最大分数;768. 最多能完成排序的块 II;2192. 有向无环图中一个节点的所有祖先

news2024/11/26 21:36:35

2321. 拼接数组的最大分数

核心思想:数学思维。假设nums1的和为a0+a1+a2+a3+...an-1 = sum(nums1),nums2的和为b0+b1+b2+b3+...bn-1 = sum(nums2),交换al...ar与bl..br,现在nums1的和要最大,则s = sum(nums1) + (br-ar)+(br-1-ar-1)...(bl-al),所以你要使后面的值更大,交换后的结果才大,所以就变成了求最大连续数组的和。

 768. 最多能完成排序的块 II

核心思想:这题其实有点贪心的思想。如果后面的块比前面的块大我们就尽可能的让它单独为一块。我们用栈来维护每个块的最大值。比如,arr = [2,1,3,4,4],首先[2]入栈,1入栈发现比2小,先把2值保存下来,继续弹出,发现栈为空了就把2放入,此时栈为[2],然后3,4,4,都大于等于前面的数,所以最后stack剩余[2,3,4,4],即4块。比如[1,1,2,1,1,3,4,5,1,6],1入栈[1],1入栈[1,1],2入栈[1,1,2],然后1入栈发现2比1大,先把2记录,剩余[1,1]然后继续比较发现没有比1小,然后把2放回

[1,1,2],同理下一个1也是一样,其实现在的分好的块是[1,1,2,1,1,3,4,5,1,6],只是栈里面只保留每一个块的最大值,然后又是3,4,5入栈[1,1,2,1,1,3,4,5,1,6],然后1入栈发现[1,1,2,3,4,5]比5小,然后先把5记录下来,剩余[1,1,2,3,4],然后比较发现1比234都小,然后把它们都拿出来,在把5放入,模拟的就是[1,1,2,1,1,3,4,5,1,6],2,1,1,3,4,5,1为1块的过程,最后6单独为1块。最后的栈为[1,1,5,6]四块。然后文字讲解可能不太清楚,大家可以自己模拟一下。核心思想就是维护每一块的最大值,当新加入的值比前一个块的最大值小的时候,它只能融合到这一个块中,如果分别比前2个块的最大值小的话,就只能把这两个块和它一起融合在一起,并弹出前1个块的最大值;同理如何比前三个块的分别的最大值小的话,就只能把这三个块和它一起融合在一起,并弹出前2个块的最大值。

 2192. 有向无环图中一个节点的所有祖先

这题不附上核心思想了(理解还不够),题目官方给出了题解。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目名称:驱动开发(控LED灯,控制蜂鸣器)

一,简述 (1)Linux系统组成 ()app: [0-3G] ---------------------------------系统调用(软中断)--------------------- kernel: 【3-4G】…

Python补充笔记3-bug问题

目录 一、Bug 粗心导致的语法错误​ ​编辑 知识不熟练导致的错误​ 思路不清晰导致的问题​ 被动掉坑​ 二、try…except…else结构​ 三、try…except…else…finally结构​ 四、常见异常类型​编辑traceback模块 pycharm调试 一、Bug 粗心导致的语法错误 知识不熟练导致的…

C++进阶:c++11

C11 相比于C98,C11则带来了数量可观的变化,以及对C03缺陷的修正。C11语法更加泛化简单化、更加稳定安全,功能更强大,提升开发效率。 cpp11 1. 列表初始化 C11扩大了用{}(初始化列表)的使用范围&#xff…

Spring Cloud+Uniapp+企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…

Mac端虚拟定位 AnyGo mac中文 6.2.1

AnyGo for Mac是一款一键将iPhone的Gps位置更改为任何位置的强大软件!使用AnyGo在其iOS或Android设备上改变其Gps位置,并在任何想要的地方显示自己的位置。这对那些需要测试应用程序、游戏或其他依赖于地理位置信息的应用程序的开发人员来说非常有用&…

C# List 详解六

目录 35.MemberwiseClone() 36.Remove(T) 37.RemoveAll(Predicate) 38.RemoveAt(Int32) 39.RemoveRange(Int32, Int32) 40.Reverse() 41.Reverse(Int32, Int32) C# List 详解一 1.Add(T),2.AddRange(IEnumerable),3…

【SpringCloud Alibaba】(一)微服务介绍

此专栏内容皆来自于【冰河】的《SpringCloud Alibaba 实战》文档。 1. 专栏介绍 我们先来看看《SpringCloud Alibaba实战》专栏的整体结构吧,先上图 从上图,大家可以看到,专栏从整体上分为十个大的篇章,分别为 专栏设计、微服务…

MGER-OSPF的LSA-OSPF的优化 综合实验报告

题目: 步骤一:拓扑设计,地址规划 地址规划: 有题意知:整个OSPF环境基于172.16.0.0/16划分。则据提意划分出子网掩码长度为20的,十六个网段,如下: 骨干链路:使用172.16.…

Appium+python自动化(十九)- Monkey(猴子)参数(超详解)

前边几篇介绍了Monkey以及Monkey的事件&#xff0c;今天就给小伙伴们介绍和分享一下Monkey的参数。 首先我们看一下这幅图来大致了解一下&#xff1a; 1、Monkey 命令 基本参数介绍 -p <允许的包名列表> 用此参数指定一个或多个包。指定包之后&#xff0c;mon…

18 常用控件--按钮组

QPushButton 可以显示图标QToolButton 工具按钮 可以显示图标 可以设置透明效果QRadioButton 单选按钮QCheckBox 多选按钮 多个单选按钮可以用GroupBox分组 按钮可以设置默认选中状态&#xff0c;多选按钮可以设置半选状态 代码&#xff1a; //widget.h #ifndef WIDGET_H #def…

Llama2开源大模型的新篇章以及在阿里云的实践

Llama一直被誉为AI社区中最强大的开源大模型。然而&#xff0c;由于开源协议的限制&#xff0c;它一直不能被免费用于商业用途。然而&#xff0c;这一切在7月19日发生了改变&#xff0c;当Meta终于发布了大家期待已久的免费商用版本Llama2。Llama2是一个由Meta AI开发的预训练大…

前端工程师的岗位职责(合集)

篇一 岗位职责&#xff1a; 1、负责网站前端开发&#xff0c;实现产品的页面交互及功能实现; 2、与程序开发人员紧密合作&#xff0c;制作前端及后端程序接口标准; 3、完成产品的设计、开发、测试、修改bug等工作&#xff0c;包括业务需求的沟通&#xff0c;功能模块详细设计…

防火墙入门指南:了解防火墙的基础知识

目录 防火墙&#xff08;四层设备&#xff09; 1.1防火墙是什么 1.2 防火墙是如何诞生的 1.2.1包过滤防火墙----访问控制列表技术---三层技术 1.2.2代理防火墙----中间人技术---应用层 1.2.3状态防火墙---会话追踪技术---三层、四层 1.2.4UTM---深度包检查技术----应用层…

element-ui动态编辑标签

点击叉叉&#xff0c;标签消失&#xff0c;点击New Tag&#xff0c;显示输入框&#xff0c;输入完成后生成标签&#xff0c;并且出现New Tag标签。 代码&#xff1a; <el-tag:key"tag"v-for"tag in dynamicTags"closable:disable-transitions"fa…

【Hive 01】简介、安装部署、高级函数使用

1 Hive简介 1.1 Hive系统架构 Hive是建立在 Hadoop上的数据仓库基础构架&#xff0c;它提供了一系列的工具&#xff0c;可以进行数据提取、转化、加载&#xff08; ETL &#xff09;Hive定义了简单的类SQL查询语言&#xff0c;称为HQL&#xff0c;它允许熟悉SQL的用户直接查询…

redux源码阅读总结(一)- createStore.js详细解析与思考

redux数据流分析 在阅读redux源码之前&#xff0c;先整理一下redux的数据流&#xff0c;官网的数据流程图如下所示。该图十分清晰明了的展示了redux的数据流&#xff1a; 点击UI&#xff0c;发起一个存钱的点击事件。在点击事件处理函数中&#xff0c;dispatch分发一个action…

AE 3D粒子插件trapcode particular 新版本

Trapcode Particular for Mac是目前AE系列的插件中最火爆最流行的一款三维粒子插件&#xff0c;是属于Red Giant Trapcode Suite&#xff08;红巨人粒子特效套装插件&#xff09;中的一款粒子插件。该软件提供了多达一百余种粒子效果供用户使用&#xff0c;可以产生各种各样的自…

【算法基础:搜索与图论】3.4 求最短路算法(Dijkstrabellman-fordspfaFloyd)

文章目录 求最短路算法总览Dijkstra朴素 Dijkstra 算法&#xff08;⭐原理讲解&#xff01;⭐重要&#xff01;&#xff09;&#xff08;用于稠密图&#xff09;例题&#xff1a;849. Dijkstra求最短路 I代码1——使用邻接表代码2——使用邻接矩阵 补充&#xff1a;稠密图和稀疏…

(Chrome Ext)谷歌扩展程序-谷歌插件渗透测试方法记录

文章目录 前言一、本地获取谷歌插件/扩展程序源码二、工具化信息收集总结 前言 在工作岗位变更之后&#xff0c;越来越多“奇奇怪怪”的东西要去渗透和测试&#xff0c;在我之前干安服的时候&#xff0c;最多的就是测一下web&#xff0c;极少情况下测测app&#xff0c;但是现在…

信息与通信工程学科面试准备——信息论与编码|保研推免面试题

目录 第一章 绪论 1 信息的概念 1.1 香农对信息的定义 1.2 信息与消息之间的关系&#xff1f; 2 信息的性质 3 信息的分类 4 信息论与编码研究的主要内容 (1)狭义信息论 (2)一般信息论 (3)广义信息论 5 信息论与编码的发展和应用 6 通信系统模型构成 (1)信源 (2)…