当前位置: 首页 > news >正文

Leetcode---359周赛

题目列表

2828. 判别首字母缩略词

2829. k-avoiding 数组的最小总和

2830. 销售利润最大化

2831. 找出最长等值子数组

一、判断首字母缩略词

 纯模拟,代码如下

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

二、k-avoiding数组的最小和

 

根据题目所给的数据范围,我们甚至可以将和为k的数据对全部求出来,然后一个个筛选,但是没必要,我们只要从小到大枚举元素,将枚举过的元素记录起来,当遇到能匹配的元素时跳过就行,直到选满n个元素(有点贪心的意思在里面)

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

或者直接推导出数学公式,代码如下(利用等差数列求和公式)

class Solution {
public:int minimumSum(int n, int k) {int m=min(k/2,n);return m*(m+1)/2+(k+k+(n-m-1))*(n-m)/2;}
};

三、销售利润最大化

 这题相信有人一看到最大化就直接去想贪心了,但是这题的贪心策略是不确定的,因为它是由区间和价格共同影响决定的,好,既然贪心不行,我们就要去想想动态规划

1.dp数组有几个维度,含义是什么?(最重要的一步,后面几个问题都是围绕这个问题展开的)

根据题目要求,我们定义dp[i]代表前i个房子能获取的最大利润

2.dp数组的递推公式

1)如果不选i这个位置的房子,那么相当于只考虑前i-1个房子,即dp[ i ]=dp[ i - 1 ]

2)如果选i这个位置的房子,那么我们只能选以i为右端点区间的买家,所以前i个房子的最大利润=以i为右端点区间的买家价格+该买家买的左端点之前的房屋最大利润

即dp[i]=offers[j][2]+dp[offer[j][0] - 1] (j是代表以i为有端点的买家下标)

上诉两种情况取最大值得到dp[i]

3.dp数组的初始化

dp[0]=0,即前0个房子的最大利润是0,前0个房子也就是没有房子可以选,故利润为0

动态规划问题总结:关键是将上面三个问题搞明白,尤其是第一个问题,它将直接关乎另外两个问题的思考难度和方法的正确性

代码如下

class Solution {
public:int maximizeTheProfit(int n, vector<vector<int>>& offers) {//将右端点相同的买家分类记录vector<vector<int>> v(n);for(int i=0;i<offers.size();i++)v[offers[i][1]].push_back(i);int dp[n+1];dp[0]=0;//数组初始化for(int i=1;i<=n;i++){dp[i]=dp[i-1];//不选第i个房子(i和房子下标差1)for(auto& x:v[i-1]){//选第i个房子,下标为i-1dp[i]=max(dp[i],dp[offers[x][0]]+offers[x][2]);//这里的offers中记录的左端点是下标,不用-1}}return dp[n];}
};

四、找到最长等值子数组

 这题找最长等值子数组,即将不同数字为等值的最大值都算出来,取最大值即可

不同数字的最大值计算用双指针(滑动窗口)

代码如下

class Solution {
public:int longestEqualSubarray(vector<int>& nums, int k) {int n=nums.size();vector<vector<int>> v(n+1);for(int i=0;i<n;i++)v[nums[i]].push_back(i);int ans=1;for(int i=1;i<=n;i++){for(int left=0,right=0;right<v[i].size();right++){while(v[i][right]-v[i][left]-(right-left)>k)left++;ans=max(ans,right-left+1);}}return ans;}
};

相关文章:

Leetcode---359周赛

题目列表 2828. 判别首字母缩略词 2829. k-avoiding 数组的最小总和 2830. 销售利润最大化 2831. 找出最长等值子数组 一、判断首字母缩略词 纯模拟&#xff0c;代码如下 class Solution { public:bool isAcronym(vector<string>& words, string s) {string tmp…...

Keras三种主流模型构建方式:序列模型、函数模型、子类模型开发实践,以真实烟雾识别场景数据为例

Keras和PyTorch是两个常用的深度学习框架&#xff0c;它们都提供了用于构建和训练神经网络的高级API。 Keras: Keras是一个高级神经网络API&#xff0c;可以在多个底层深度学习框架上运行&#xff0c;如TensorFlow和CNTK。以下是Keras的特点和优点&#xff1a; 优点&#xf…...

objective-v 获取iPhone系统当前时间字符串适配12小时制和24小时制

我们最开始获取系统当前时间&#xff0c;如下&#xff0c;这种方式存在一个问题&#xff0c;当iPhone关闭了24小时制时&#xff0c;获取的时间格式是&#xff1a;iPhone11上&#xff1a;20230822下午210568760&#xff1b;iPhone7 plus上&#xff1a;2023082240043851 PM&#…...

并查集及其简单应用

文章目录 一.并查集二.并查集的实现三.并查集的基本应用 一.并查集 并查集的逻辑结构:由多颗不相连通的多叉树构成的森林(一个这样的多叉树就是森林的一个连通分量) 并查集的元素(树节点)用0~9的整数表示,并查集可以表示如下: 并查集的物理存储结构:并查集一般采用顺序结构实…...

基于web的服装商城系统java网上购物商店jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于web的服装商城系统 系统有1权限&#xff1a;前台…...

.NET Core发布到IIS

项目介绍 1、开发工具Visual Studio 2017&#xff0c;语言C#&#xff0c;SQL SERVER&#xff0c;WIN10 2、本地IIS&#xff0c;手机上或其他用户在和本地在同一个局域网内访问,同时要把防火墙关掉 3、IIS全名Internet Information Services&#xff0c;用来发布网站 先决条件 安…...

Spring的基本概念

前言 Spring 究竟是什么&#xff1f;其实Spring简单来说就是一个包含众多工具方法的IOC容器。 那么什么是IOC呢&#xff1f; IoC Inversion of Control 翻译成中⽂是“控制反转”的意思. 既然Spring 是⼀个IoC&#xff08;控制反转&#xff09;容器&#xff0c;重点还在“容…...

设计模式之原型模式

文章目录 一、介绍二、实现步骤三、案例四、应用五、细胞分裂六、改造细胞分裂逻辑七、总结 一、介绍 原型模式属于创建型设计模式&#xff0c;用于创建重复的对象&#xff0c;且同时又保证了性能。 该设计模式的好处是将对象的创建与调用方分离。 其目的就是**根据一个对象…...

正则表达式在网页处理中的应用四则

正则表达式在网页处理中的应用四则 正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或者提供了现成的代码库供调用。本文以ASP环境中常见的处理任务为例,介绍正则表达式的应用技巧。 一、检验密…...

ping使用方法

文章目录 1、Ping的基础知识2、Ping命令详解3、怎样使用Ping这命令来测试网络连通&#xff1f;4、如何用Ping命令来判断一条链路好坏&#xff1f;5、对Ping后返回信息的分析1.Request timed out2.Destination host Unreachable 1、Ping的基础知识 ping命令相信大家已经再熟悉不…...

“心理健康人工智能产学研创新联盟”揭牌成立|深兰科技

8月14日上午&#xff0c;“2023树洞救援年会”在上海举行&#xff0c;会上举行了“心理健康人工智能产学研创新联盟”的签约和揭牌仪式。“树洞行动救援团”创始人深兰科技科学院智能科学首席科学家、荷兰阿姆斯特丹自由大学人工智能系终身教授黄智生&#xff0c;深兰科技集团创…...

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...

Mybatis-动态sql和分页

目录 一.什么是Mybatis动态分页 二.mybatis中的动态SQL 在BookMaaper.xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 ​编辑 测试结果 三.mybatis中的模糊查询 mybatis中的#与$有是什么区别 在BookMapper.xml里面建立三个模糊查询 ​编辑 …...

基于YOLOV8模型的西红柿目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOV8模型的西红柿目标检测系统可用于日常生活中检测与定位西红柿目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数…...

数学建模及数据分析 || 4. 深度学习应用案例分享

PyTorch 深度学习全连接网络分类 文章目录 PyTorch 深度学习全连接网络分类1. 非线性二分类2. 泰坦尼克号数据分类2.1 数据的准备工作2.2 全连接网络的搭建2.3 结果的可视化 1. 非线性二分类 import sklearn.datasets #数据集 import numpy as np import matplotlib.pyplot as…...

数据分析15——office中的Excel基础技术汇总

0、前言&#xff1a; 这部分总结就是总结每个基础技术的定义&#xff0c;在了解基础技术名称和定义后&#xff0c;方便对相关技术进行检索学习。笔记不会详细到所有操作都说明&#xff0c;但会把基础操作的名称及作用说明&#xff0c;可自行检索。本文对于大部分读者有以下作用…...

C语言好题解析(四)

目录 选择题一选择题二选择题三选择题四选择题五编程题一 选择题一 已知函数的原型是&#xff1a; int fun(char b[10], int *a); 设定义&#xff1a; char c[10];int d; &#xff0c;正确的调用语句是&#xff08; &#xff09; A: fun(c,&d); B: fun(c,d); C: fun(&…...

英语——主谓一致

主谓一致是指句子的谓语动词与其主语在数上必须保持一致,一般遵循以下三个原则: 一、语法形式上一致,即单复数形式与谓语要一致。 二、意义上一致,即主语意义上的单复数要与谓语的单复数形式一致。 三、就近以及就远原则,即谓语动词的单复形式取决于最靠近它的词语或者离它…...

属性字符串解析

连续的KV的字符串&#xff0c;每个KV之间用","分隔&#xff0c;V中可嵌套KV的连续字符串结构&#xff0c;例如“ key1value1,key2value2,key3[key4value4,key5value5,key6[key7value7]],key8value8 请编写如下函数&#xff0c;给定字符串&#xff0c;输出嵌套结构的H…...

【C++初阶】vector容器

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…...

HunyuanVideo-Foley部署教程:API限流配置与高并发请求稳定性保障

HunyuanVideo-Foley部署教程&#xff1a;API限流配置与高并发请求稳定性保障 1. 环境准备与快速部署 HunyuanVideo-Foley是一款强大的视频生成与音效生成工具&#xff0c;本教程将指导您完成私有化部署&#xff0c;并重点讲解API限流配置与高并发请求的稳定性保障方案。 1.1…...

NumPy 应用实例:用户行为数据分析(归一化和标准化处理)

在用户行为分析中&#xff0c;常常需要同时处理多个特征&#xff0c;例如访问次数、消费金额、停留时长、收藏数量等。这些特征虽然都能反映用户活跃程度或消费倾向&#xff0c;但它们的单位、量纲和取值范围通常并不一致。如果直接将原始数据用于综合评分或相似度计算&#xf…...

AutoJS与按键精灵实战:微信抢红包脚本开发指南(附完整代码)

1. 微信抢红包脚本开发入门指南 最近几年&#xff0c;手机自动化工具越来越受到开发者欢迎&#xff0c;特别是像AutoJS和按键精灵这样的工具&#xff0c;能够帮助我们完成很多重复性的手机操作。今天我要分享的是如何用这些工具开发一个微信抢红包脚本&#xff0c;这个需求在过…...

看完就会:2026年最强AI论文写作软件榜单,AI工具一键写高质论文

2026 年实测 10 款主流 AI 论文工具&#xff0c;千笔AI以全流程覆盖 语义级降重 免费查重领跑综合榜&#xff1b;ThouPen 稳坐留学生毕业全流程工具头把交椅&#xff1b;免费工具中DeepSeek Scholar、豆包学术版表现亮眼&#xff0c;30 分钟即可生成万字高质量初稿&#xff0…...

告别模糊深度图:用CREStereo的级联循环网络,搞定手机双摄的立体匹配难题

手机双摄立体匹配的工程突围&#xff1a;CREStereo如何重塑深度图细节 当你在智能手机上使用人像模式时&#xff0c;是否注意到头发丝边缘总会出现不自然的虚化断裂&#xff1f;这种"深度图模糊综合征"正是移动端立体匹配面临的典型挑战。不同于工业级双目摄像头&…...

TypeScript——tsconfig.json

tsconfig.json1、使用配置文件1.1、自动搜索配置文件1.2、指定配置文件2、编译选项列表3、编译文件列表3.1、--listFiles编译选项3.2、 默认编译文件列表3.3、files属性3.4、include属性3.5、 exclude属性4、声明文件列表4.1、--typeRoots编译选项4.2、--types编译选项5、继承…...

新手必看:用T16IZ遥控器给PX4无人机对频,保姆级图文教程(附接线避坑点)

T16IZ遥控器与PX4无人机对频全指南&#xff1a;从零开始的安全操作手册 刚拿到T16IZ遥控器和PX4无人机套件时&#xff0c;面对密密麻麻的接口和陌生的专业术语&#xff0c;很多新手会感到无从下手。本文将以最直观的方式&#xff0c;带你一步步完成对频操作&#xff0c;同时避开…...

AI原生前端:基于OpenTiny NEXT生态的全链路学习、实战、开源实践与行业前瞻

过去二十年&#xff0c;前端行业经历了四次决定性的进化浪潮&#xff1a;第一次是Web1.0时代&#xff0c;jQuery等工具库终结了原生JS的兼容乱象&#xff0c;让前端从静态页面的拼接者&#xff0c;变成了动态交互的实现者&#xff1b;第二次是三大框架的崛起&#xff0c;Vue、R…...

解决k8s集群中containerd运行时拉取HTTP私有Harbor镜像的配置难题

1. 为什么需要配置HTTP私有Harbor镜像拉取 最近在帮客户部署Kubernetes集群时&#xff0c;遇到了一个典型问题&#xff1a;使用containerd作为容器运行时&#xff0c;无法从内网HTTP协议的Harbor私有仓库拉取镜像。这个问题其实很常见&#xff0c;特别是很多企业内网环境中&…...

科学可视化入门:用OptiX 9.0 + SDL2 + OpenGL搭建你的第一个实时渲染窗口

科学可视化实战&#xff1a;从零构建OptiX 9.0实时渲染系统 光线追踪技术正在重塑科学可视化的未来。想象一下&#xff0c;你能够实时操控分子结构中的每一个原子&#xff0c;或者让宇宙射线在指尖流淌——这正是OptiX 9.0与SDL2/OpenGL组合带来的可能性。本文将带你跨越理论到…...