第 359 场 LeetCode 周赛题解

A 判别首字母缩略词

在这里插入图片描述

签到题…

class Solution {
public:bool isAcronym(vector<string> &words, string s) {string pf;for (auto &s: words)pf.push_back(s[0]);return pf == s;}
};

B k-avoiding 数组的最小总和

在这里插入图片描述

贪心:从 1 1 1开始升序枚举,判断当前数是否可以放入数组,同时维护当前数组中的数,直到找到 n n n个数。

class Solution {
public:int minimumSum(int n, int k) {set<int> vis;int s = 0;for (int i = 1; vis.size() < n; i++) {if (vis.count(k - i))continue;vis.insert(i);s += i;}return s;}
};

C 销售利润最大化

在这里插入图片描述
在这里插入图片描述

动态规划+树状数组:首先将 o f f e r s offers offers s t a r t i start_i starti升序排序,枚举 o f f e r s offers offers中的元素,设 p [ i ] p[i] p[i]为销售的最右区间的右端点为 i i i的情况下能够得到的最大利润,设当前元素为 [ l , r , g ] [l, r, g] [l,r,g],则可以更新状态: p [ r ] = m a x { p [ r ] m a x { p [ k ] ∣ 0 ≤ k ≤ l − 1 } + g p[r]=max\left\{\begin{matrix} p[r] \\ max\{p[k] \;|\; 0\le k \le l-1 \} + g \end{matrix}\right. p[r]=max{p[r]max{p[k]0kl1}+g
利用树状数组来维护前缀上的极大值。

class Solution {
public:int maximizeTheProfit(int n, vector<vector<int>> &offers) {N = n + 5;a = vector<int>(N, 0);sort(offers.begin(), offers.end());int res = 0;for (auto &it: offers) {int l = it[0] + 1, r = it[1] + 1, g = it[2];//树状数组中下标从1开始int cur = query(l - 1) + g;//查询前缀极大值res = max(res, cur);update(r, cur); //树状数组更新}return res;}int N;vector<int> a;//树状数组inline int lowbit(int x) {return x & -x;}void update(int loc, int val) {// li[loc]=max(li[loc], val);for (; loc < N; loc += lowbit(loc))a[loc] = max(a[loc], val);}int query(int loc) {// max{li[k] | 1<=k<=loc}int res = 0;for (; loc > 0; loc -= lowbit(loc))res = max(res, a[loc]);return res;}
};

D 找出最长等值子数组

在这里插入图片描述

二分+哈希:用二分查找答案 l e n len len,这样问题就变成了:判断从 n u m s nums nums 中删除最多 k k k 个元素后,是否存在长为 l e n len len 的等值子数组。设 l o c [ v ] loc[v] loc[v] n u m s nums nums中所有 v v v所在下标组成的升序数组,若存在 0 ≤ i ≤ i + l e n − 1 < l o c [ v ] . s i z e ( ) 0\le i \le i+len-1 < loc[v].size() 0ii+len1<loc[v].size() 使得 l o c [ v ] [ i + l e n − 1 ] − l o c [ v ] [ i ] + 1 − l e n ≤ k loc[v][i + len - 1] - loc[v][i] + 1 - len \le k loc[v][i+len1]loc[v][i]+1lenk,则说明可以得到长为 l e n len len 的值为 v v v的等值子数组,枚举 n u m s nums nums中不同的数,即可判断是否可以得到长为 l e n len len 的等值子数组。

class Solution {
public:int longestEqualSubarray(vector<int> &nums, int k) {int n = nums.size(), l = 1, r = n;unordered_map<int, vector<int>> loc;for (int i = 0; i < n; i++)loc[nums[i]].push_back(i);auto can = [&](int len) {//判断是否可以得到长为len的等值子数组int find = 0;for (auto &[_, vec]: loc) {//枚举不同的数for (int i = 0; i + len - 1 < vec.size(); i++)if (vec[i + len - 1] - vec[i] + 1 - len <= k)return true;}return false;};while (l < r) {//二分查找答案int mid = (l + r + 1) / 2;if (can(mid))l = mid;elser = mid - 1;}return l;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++实现字符串的逆置

目录 C和C的区别 【1】C对C的扩充 【2】C对C的兼容 第一个C程序 【1】hello world 【2】cout标准输出流对象 i&#xff09;介绍 ii&#xff09;运算 iii&#xff09;cout的使用 iv&#xff09;使用cout指定格式的输出 练习&#xff1a;1、输出斐波那契的前10项。 【3】…

物联网(IoT)安全挑战与解决方案: 分析物联网设备面临的安全威胁,以及如何设计和管理安全的IoT生态系统

第一章&#xff1a;引言 随着科技的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;作为连接世界的桥梁&#xff0c;已经成为现代社会不可或缺的一部分。然而&#xff0c;随着IoT设备数量的不断增加&#xff0c;其安全问题也日益显著。本文将深入探讨IoT领域面临的安全…

Docker的基本使用

Docker 概念 Docker架构 docker分为客户端&#xff0c;Docker服务端&#xff0c;仓库 客户端 Docker 是一个客户端-服务器&#xff08;C/S&#xff09;架构程序。Docker 客户端只需要向 Docker 服务端发起请求&#xff0c;服务端将完成所有的工作并返回相应结果。 Docker …

自动化测试工具Selenium的语法续.

OK&#xff0c;那么上篇博客我们介绍了如何搭建基于Javaselenium的环境&#xff0c;并且使用selenium的一些语法给大家演示了如何进行自动化测试的案例&#xff0c;那么本篇博客我们来继续学习selenium的一些其他的比较重要的语法&#xff0c;感谢关注&#xff0c;期待三连~ 目…

系统架构合理性的思考 | 京东云技术团队

最近牵头在梳理部门的系统架构合理性&#xff0c;开始工作之前&#xff0c;我首先想到的是如何定义架构合理性&#xff1f; 从研发的角度来看如果系统上下文清晰、应用架构设计简单、应用拆分合理应该称之为架构合理。 基于以上的定义可以从以下三个方面来梳理评估&#xff1…

IPv4,IPv6,TCP,路由

主要回顾一下TCP&#xff0f;IP的传输过程&#xff0c;在这个过程中&#xff0c;做了什么事情 ip : 网际协议,IP协议能让世界上任意两台计算机之间进行通信。 IP协议的三大功能&#xff1a; 寻址和路由传递服务&#xff1a;不可靠&#xff08;尽最大努力交付传输数据包&…

变动的Python爬虫实现

在电商时代&#xff0c;了解商品价格的变动对于购物者和卖家来说都非常重要。本文将分享一种基于Python的实时监控电商平台商品价格变动的爬虫实现方法。通过本文的解决方案和代码示例&#xff0c;您将能够轻松监控商品价格&#xff0c;并及时做出决策。 一、了解需求和目标 在…

EasyCode代码生成MybatisPlus

先安装插件 导入 { "author" : "wangyujie", "version" : "1.2.8", "userSecure" : "", "currTypeMapperGroupName" : "Default", "currTemplateGroupName" : "01-Mybatis-Pl…

如何将PDF文件转换为PPT文件?

如何将pdf转换成ppt&#xff1f;PDF文件作为常用的文件格式&#xff0c;不仅可以在教学过程中使用&#xff0c;还可以在营销展会、培训讲座等过程中使用。欧迪芬文件的使用&#xff0c;能够在一定程度上提升我们的办公效率。对于PDF文件来说&#xff0c;其中包含的元素非常多&a…

电商数据采集和数据分析

不管是做渠道价格的治理&#xff0c;还是做窜货、假货的打击&#xff0c;都需要品牌对线上数据尽数掌握&#xff0c;准确的数据是驱动服务的关键&#xff0c;所以做好电商数据的采集和分析非常重要。 当线上链接较多&#xff0c;品牌又需要监测线上数据时&#xff0c;单靠人工肯…

卷积神经网络——下篇【深度学习】【PyTorch】

文章目录 5、卷积神经网络5.10、⭐批量归一化5.10.1、理论部分5.10.2、代码部分 5.11、⭐残差网络&#xff08;ResNet&#xff09;5.11.1、理论部分5.11.2、代码部分 话题闲谈 5、卷积神经网络 5.10、⭐批量归一化 5.10.1、理论部分 批量归一化可以解决深层网络中梯度消失和…

K8s学习笔记2

Kubernetes&#xff1a; K8s由来&#xff1a; 希腊语&#xff1a;舵手、飞行员 来自于谷歌的Borg系统开源&#xff08;2014年&#xff09; 简称K8s 现归属于CNCF&#xff08;2016年&#xff09; 云原生基金会 是一个开源软件基金会&#xff0c;致力于使云计算普遍性和持…

【从零开始学爬虫】采集中国国际招标网招标数据

l 采集网站 【场景描述】采集中国国际招标网招标数据。 【源网站介绍】中国国际招标网致力于为企业提供招标、采购、拟在建项目信息及网上招标采购等一系列商务服务。 【使用工具】前嗅ForeSpider数据采集系统 http://www.forenose.com/view/forespider/view/download.html 【…

spring异步框架使用教程

背景 在需求开发过程中&#xff0c;为了提升效率&#xff0c;很容易就会遇到需要使用多线程的场景。这个时候一般都会选择建一个线程池去专门用来进行某一类动作&#xff0c;这种任务到来的时候往往伴随着大量的线程被创建调用。而还有另外一种场景是整个任务的执行耗时比较长…

Obsidian 入门使用手册

文章目录 一、Obsidian 入门1.1 什么是 Obsidian1.2 安装 Obsidian 二、Obsidian 配置2.1 创建第一个笔记2.2 设置界面语言使用中文2.3 主题 三、小结 一、Obsidian 入门 1.1 什么是 Obsidian Obsidian 是一款基于 Markdown 语法编辑的笔记软件。与传统的 Markdown 软件不同的…

图神经网络与分子表征:1. 分子图和图神经网络基础

CSDN的朋友们大家好&#xff0c;好久没写系列文章了。 近期读了很多图神经网络&#xff08;GNN&#xff09;和分子表征&#xff08;molecular representation&#xff09;的论文&#xff0c;正好最近不是很忙&#xff0c;所以我决定把自己的学习过程记录下来&#xff0c;与大家…

有没有免费格式转换工具推荐?PDF转化为PPT的方法

在当今职场生活中&#xff0c;掌握文件格式转换技能变得异常重要。将PDF文档转换为PPT格式可以在演讲、报告等场合更好地展示和传达信息&#xff0c;为我们的专业形象增添亮点&#xff0c;接下来我们可以一起来看一下“有没有免费格式转换工具推荐?PDF转化为PPT的方法”相关的…

使用vscode编写插件-php语言

https://blog.csdn.net/qq_45701130/article/details/125206645 一、环境搭建 1、安装 Visual Studio Code 2、安装 Node.js 3、安装 Git 4、安装生产插件代码的工具&#xff1a;npm install -g yo generator-code 二、创建工程 yo code 选择项解释&#xff1a; 选择编写扩…

认识容器,走进Docker

文章目录 容器技术简介容器的核心技术容器平台技术容器的支持技术 Docker理念Docker安装配置阿里云镜像加速器 容器技术简介 一切在云端&#xff0c;万物皆容器&#xff0c;说到容器&#xff0c;大家都会想到Docker,Docker现在几乎是容器的代名词&#xff0c;什么是Docker&…

时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测预测效果基本介绍程序设计学习总结参考资料 预测效果 基本介绍 时序预测 | MATLAB实现SO-CNN-LSTM蛇群…