[LeetCode周赛复盘] 第 359 场周赛20230820

news2025/1/12 12:03:57

[LeetCode周赛复盘] 第 359 场周赛20230820

    • 一、本周周赛总结
    • 2828. 判别首字母缩略词
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2829. k-avoiding 数组的最小总和
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2830. 销售利润最大化
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2831. 找出最长等值子数组
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • T1 模拟。
  • T2 数学贪心。
  • T3 dp。
  • T4 分组+滑窗。

在这里插入图片描述

2828. 判别首字母缩略词

2828. 判别首字母缩略词

1. 题目描述

在这里插入图片描述

2. 思路分析

按题意模拟即可。

3. 代码实现

class Solution:
    def isAcronym(self, words: List[str], s: str) -> bool:
        return s == ''.join(w[0] for w in words)

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

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

1. 题目描述

在这里插入图片描述

2. 思路分析

贪心

  • 1~k-1中,选了1就不能选k-1;选了2就不能选k-2…
  • 因此可以选1~k//2
  • 剩余的从k开始向上选。

  • 可以模拟,也可以等差数列求和公式。

3. 代码实现

class Solution:
    def minimumSum(self, n: int, k: int) -> int:
        ans = 0
        p = min(n,k//2)
        ans += (1+p)*p//2
        
        ans += (k+k+n-p-1)*(n-p)//2
        return ans

2830. 销售利润最大化

2830. 销售利润最大化

1. 题目描述

在这里插入图片描述

2. 思路分析

看到值域范围,考虑用值域当下标dp。
令f[i]表示从0~i的房屋的销售最大值。

  • 枚举offers[i]=a,b,c, 只要知道f[a-1]则可以转移到f[b],f[b]=f[a-1]+b。
  • 如何知道f[a-1]呢,显然它是一个前缀最大值,那么其实可以用线段树等区间最大值的数据结构。
  • 这题还可以递推,用p记录当前a之前的最大值,那么可以把offers按左端点排序,记一下即可,然后双指针递推。

3. 代码实现

class Solution:
    def maximizeTheProfit(self, n: int, offers: List[List[int]]) -> int:
        f = [0]*n
        j = p = 0
        offers.sort()
        for a,b,c in offers:
            while j < a:
                p = max(p,f[j])
                j += 1
            f[b] = max(f[b],p+c)
        return max(f[j:])

2831. 找出最长等值子数组

2831. 找出最长等值子数组

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 由于只能删除k个数,保留的数不能变,那么按值分组,记录下标。
  • 对每个组,看删除k个的窗口内,最多有几个下标。
  • 那么变长滑窗思路就出现了。
  • 枚举每个位置为窗口右边界,如果窗口内需要删除的数字超过k个,那么缩左窗。

3. 代码实现

class Solution:
    def longestEqualSubarray(self, nums: List[int], k: int) -> int:
        n = len(nums)
        g = [[] for _ in range(n+1)]
        for i,v in enumerate(nums):
            g[v].append(i)
        ans = 1 
        for a in g:
            q = deque()
            for v in a:
                q.append(v)
                while q[-1]-q[0]+1 - len(q) > k:
                    q.popleft()
                ans = max(ans,len(q))
        return ans         

参考链接

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

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

相关文章

【智算中心】国产GPU横向对比

近日&#xff0c;沐曦发布了一篇名为《沐曦与智谱AI完成兼容性测试 共建软硬件一体化解决方案》的公众号&#xff0c;表示曦云C500千亿参数AI大模型训练及通用计算GPU与智谱AI开源的中英双语对话语言模型ChatGLM2-6B完成适配。测试结果显示&#xff0c;曦云C500在智谱AI的升级版…

V4L2+单色USB摄像头编程实践3:读取MJPG格式图像

查看摄像头支持的MJPG格式的分辨率和帧率&#xff1a; $ v4l2-ctl --list-formats-ext --device /dev/video0 ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: MJPG (Motion-JPEG, compressed)Size: Discrete 1280x720 Interval: Discrete 0.008s (120.000 fps)Interval:…

敏捷研发管理软件及敏捷管理流程

Scrum中非常强调公开、透明、直接有效的沟通&#xff0c;这也是“可视化的管理工具”在敏捷开发中如此重要的原因之一。通过“可视化的管理工具”让所有人直观的看到需求&#xff0c;故事&#xff0c;任务之间的流转状态&#xff0c;可以使团队成员更加快速适应敏捷开发流程。 …

Java cc链2 分析

环境 cc4 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.0</version&…

损失函数介绍

用softmax&#xff0c;就可以将一个输出值转换到概率取值的一个范围。 交叉熵损失CrossEntropyLoss 第一个参数weight&#xff0c; 各类别的loss设置权值&#xff0c; 如果类别不均衡的时候这个参数很有必要了&#xff0c;加了之后损失函数变成这样&#xff1a; 第二个参数ign…

8年测试经验之谈 —— 什么是全链路压测?

随着互联网技术的发展和普及&#xff0c;越来越多的互联网公司开始重视性能压测&#xff0c;并将其纳入软件开发和测试的流程中。 阿里巴巴在2014 年双11 大促活动保障背景下提出了全链路压测技术&#xff0c;能更好的保障系统可用性和稳定性。 什么是全链路压测&#xff1f; …

湘潭大学 湘大 XTU 1251 Colombian Number 题解(非常详细)

参考文章 1.XTUOJ-1251-Colombian Number 链接 1251 题面 题目描述 对于正整数n,不存在整数k,使得n等于k加上k的数码累加和&#xff0c;我们称这样的数是哥伦比亚数或者自我数。 比如 11就不是一个哥伦比亚数&#xff0c;因为10加上10的数码累加和1等于11;而20则是一个哥伦…

uniapp 开发微信小程序使用echart的dataZoom属性缩放功能不生效!bug记录!

在本项目中使用的是这个echart库 在项目中添加了dataZoom配置项但是不生效&#xff0c;突然想到微信小程序代码大小的限制&#xff0c;之前的echarts.js是定制的&#xff0c;有可能没有加dataZoom组件。故重新定制echarts.js。之前用的echarts版本是5.0.0&#xff0c;这次也是…

容灾设备系统组成,容灾备份系统组成包括哪些

随着信息技术的快速发展&#xff0c;企业对数据的需求越来越大&#xff0c;数据已经成为企业的核心财产。但是&#xff0c;数据安全性和完整性面临巨大挑战。在这种环境下&#xff0c;容灾备份系统应运而生&#xff0c;成为保证企业数据安全的关键因素。下面我们就详细介绍容灾…

IDEA启动Tomcat两个端口的方式 使用nginx进行反向代理 JMeter测试分布式情况下synchronized锁失效

目录 引出IDEA启动Tomcat两个端口的方式1.编辑配置2.添加新的端口-Dserver.port80833.service里面管理4.启动后进行测试 使用nginx进行反向代理反向代理多个端口运行日志查看启动关闭重启 分布式情况下synchronized失效synchronized锁代码启动tomcat两个端口nginx反向代理JMete…

慕课网 Go工程师 第三周 package和gomodules章节

Go包的引入&#xff1a; 包名前面加匿名&#xff0c;只引入但不使用&#xff0c;如果对应包有init函数&#xff0c;会执行init函数&#xff08;初始化操作&#xff09; 包名前面加. 把这个包的结构体和方法导入当前包&#xff0c;慎用&#xff0c;你不知道当前包和被引入的包用…

顺序表详解|顺序表常见错误并调试分析

前言&#xff1a; 今天我们开始学习基础的数据结构——顺序表&#xff0c;数据结构就是将数据在内存存储起来&#xff0c;在内存管理数据。 一、线性表 1、线性表&#xff08;Linear list&#xff09;是n个具有相同特性的数据元素的有限序列&#xff0c;线性表是一种在实际中广…

美国访问学者签证好办吗?

近年来&#xff0c;随着国际交流与合作的不断深入&#xff0c;许多人对于美国访问学者签证的办理情况产生了浓厚的兴趣。那么&#xff0c;美国访问学者签证到底好办吗&#xff1f;让知识人网小编带您一起了解一下。 首先&#xff0c;美国作为世界上的科研、教育和创新中心之一&…

springBoot的启动

自动配置注解的逻辑: 在启动类的基础上,导入了springboot的大量自动配置类,以至于自己不用关心配置实现过程(约定大于配置) 大量自动配置类是如何导入的? Spring提供了一个SpringFactories功能(SPI: service provider interface ),读取固定文件META-INF/spring.factories,按照…

keepalived双机热备,keepalived+lvs(DR)

本节主要学习了keepalivedlvs的作用和配置方法主要配置调度器和web节点&#xff0c;还有keepalived的双击热备&#xff0c;主要内容有概述&#xff0c;安装&#xff0c;功能模块&#xff0c;配置双击热备&#xff0c;验证方法&#xff0c;双击热备的脑裂现象和VIP无法通信。 目…

❤ windows 安装后台java开发环境JDK 、MySQL 、Redis

❤ windows 安装后台java开发环境 1、windows 安装 JDK. 下载地址&#xff1a; http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 1、下载安装 官网点击下载安装 网盘 jdk安装包 链接&#xff1a;https://pan.baidu.com/s/1sdxA6B…

Axure设计之日期选择器(年月选择)

在系统中&#xff0c;日期选择器经常会用到&#xff0c;包括日历日期的选择、日期时间的选择和日期范围的选择&#xff0c;一般是下拉列表的形式进行选择。Axure没有自带的日期选择器&#xff0c;下面教大家如何在Axure中制作真实日期选择&#xff08;年月选择&#xff09;效果…

首席执行官Adam Selipsky解读“亚马逊云科技的技术产品差异化”

迄今为止&#xff0c;亚马逊云科技已经参与了21世纪几乎所有的大型计算变革&#xff0c;亚马逊云科技是一个很传奇的故事&#xff0c;它始于大约20年前的一项实验&#xff0c;当时亚马逊试图出售其过剩的服务器。人们确实对此表示怀疑。为什么在线书店试图销售云服务&#xff1…

js逆向实战之某书protobuf反序列化

什么是Protobuf&#xff1f; \qquad Protobuf&#xff08;Protocol Buffer&#xff09;是 Google 开发的一套数据存储传输协议&#xff0c;作用就是将数据进行序列化后再传输&#xff0c;Protobuf 编码是二进制的&#xff0c;它不是可读的&#xff0c;也不容易手动修改&#xf…

抓包工具Charles的安装及代理设置(Windows浏览器代理、安卓代理)

1、下载Charles 官网地址&#xff1a;https://www.charlesproxy.com/download/&#xff0c;下载对应的安装包。安装完成后按照以下步骤进行代理配置。 2、配置Charles证书 按照以下截图步骤进行配置即可。 3、Charles代理设置 这里的端口号根据自己情况设置&#xff0c;这里…