Leetcode 3080. Mark Elements on Array by Performing Queries

  • Leetcode 3080. Mark Elements on Array by Performing Queries
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3080. Mark Elements on Array by Performing Queries

1. 解题思路

这一题我们只需要按照题意进行一下实现就行了。具体来说的话,我们只需要依序遍历一下query,然后在每个query过程中判断一下目标元素之前是否有被mark过,并额外找出最小的 k i k_i ki个元素进行mark即可。

因此,我们要做的就是如何最优地完成这两个操作,前者我们用一个hash table来记录下所有被mark的位置,后者我们用一个有序数列来对其进行维护即可。

2. 代码实现

给出python代码实现如下:

class Solution:def unmarkedSumArray(self, nums: List[int], queries: List[List[int]]) -> List[int]:marked = set()q = sorted([(x, i) for i, x in enumerate(nums)])s = sum(nums)ans = []for idx, k in queries:if idx not in marked:s -= nums[idx]q.pop(bisect.bisect_left(q, (nums[idx], idx)))marked.add(idx)for x, i in q[:k]:s -= xmarked.add(i)q = q[k:]ans.append(s)return ans

提交代码评测得到:耗时1076ms,占用内存50.3MB。

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

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

相关文章

算法笔记p154最大公约数和最小公倍数

目录 最大公约数辗转相除法证明例子代码实现 最小公倍数代码实现 最大公约数 正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数,一般用gcd(a, b)表示a和b的最大公约数。 辗转相除法 设a、b均为正整数,则gcd(a, b) gcd(b, a % b)。即被…

【C语言_字符函数和字符串函数_复习篇】

目录 一、字符函数 1.1 字符分类函数 1.2 字符转换函数 二、字符串函数 2.1 strlen函数 2.1.1 strlen函数的使用 2.1.2 strlen函数的模拟实现 2.2 strcpy函数 2.2.1 strcpy函数的使用 2.2.2 strcpy函数的模拟实现 2.3 strcat函数 2.3.1 strcat函数的使用 2.3.2 strcat函数的…

hololens2发布unity设置

生成vs工程再向hololens发布时, Architecture选X64或ARM64都可以成功发布

es索引操作命令

索引操作 index 创建索引 put 方法创建索引 使用 put 创建索引时必须指明文档id,否则报错 # PUT 创建命令 # test1 索引名称 # type1 类型名称,默认为_doc,已经被废弃 # 1 文档id PUT /test1/type1/1 {"name":"zhangsan&…

能不能绕过c去学c++?

目前做工程开发,基本都是c/c混着用的,c/c是同源的,c/是在c的基础上发展起来的,它们之间有些联系和区别: 区别: 1.可用库不同 c基本是系统底层语言,一般系统底层开发用c(例如&…

【leetcode】二叉树的前序遍历➕中序遍历➕后序遍历

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 二叉树的前序遍历2. 二叉树的中序遍历3. 二叉树的后序遍历 1. 二叉树的前序遍历 点击查看题目 根…

lv17 安防监控项目实战 3

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义(使用在外extern即可)定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…

Ollama部署本地大模型

ollama run gemma:2b "菊花为什么是红色的?" 如今 LLM 早已不再等同于昂贵的 GPU,而是可以在大部分消费级计算机上运行推理的应用了——俗称本地大模型。 Ollama 安装十分简单,macOS 直接在官网下载安装包打开运行;Wi…

华为汽车业务迎关键节点,长安深蓝加入HI模式,车BU预计今年扭亏

‍编辑 |HiEV 一年之前,同样是在电动汽车百人会的论坛上,余承东在外界对于华为和AITO的质疑声中,第一次公开阐释了华为选择走智选车模式的逻辑。 一年之后,伴随问界M7改款、问界M9上市,华为智选车模式的面貌已经发生了…

【Maven篇】解锁 Maven 的智慧:依赖冲突纷争下的版本调停者

缘起 软件开发世界是一个充满无限可能的领域,但同时也伴随着诸多挑战。其中之一,就是依赖冲突的问题。在这篇文章中,我们将揭开 Maven 这位“版本调停者”的神秘面纱,深入探讨如何在版本纠纷的盛宴中解决依赖问题。 Maven&#…

集成学习bagging与boosting

集成学习是机器学习中的一种策略,旨在结合多个学习器的预测结果,以提高总体性能,减少过拟合,增强模型的泛化能力。Boosting和Bagging是集成学习中两种非常著名的方法,它们虽然共享集成多个学习器以达到更好性能的共同目…

《建造者模式(极简c++)》

本文章属于专栏《设计模式(极简c版)》 继续上一篇《工厂模式(极简c)》。本章简要说明建造者模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明: 方案:不同场景对类的构建有不同需…

python内置函数 L

python内置函数 L Python 解释器内置了很多函数和类型,任何时候都能使用。 L 名称描述len返回对象的长度。list返回一个新列表。locals返回一个字典,表示当前局部符号表。 len(s) 返回对象的长度(元素个数)。实参可以是序列&…

什么是docker(docker客户端、镜像、容器、仓库)

一、docker Docker 是一个开源的容器化平台,它可以让开发者打包应用程序及其依赖项成为一个轻量级、可移植的容器,然后在任何环境中运行。Docker 容器将应用程序及其依赖项打包到一个标准化单元中,包括代码、运行时环境、系统工具、系统库等…

RDP爆破

工具:超级弱口令检查工具 第一步:双击打开工具 第二步:导入账号 第三步:导入密码 第三步:线程 线程默认是50,如果担心影响业务可以修改为5 第四步:填写目标 第五步:选择需要检查的…

前端入职配置新电脑!!!

前端岗位入职第一天到底应该做些什么呢?又该怎样高效的认识、融入团队?并快速进入工作状态呢?这篇文章就来分享一下,希望对即将走向或初入前端职场的你,能够有所帮助。内含大量链接,欢迎点赞收藏&#xff0…

feigni请求添加拦截器

FeignClient 的 configuration 属性: Feign 注解 FeignClient 的 configuration 属性,可以对 feign 的请求进行配置。 包括配置Feign的Encoder、Decoder、 Interceptor 等。 feign 请求添加拦截器,也可以通过这个 configuration 属性 来指…

jenkins使用公共库问题

Jenkins解决上编译解决引用问题 本地运行 把公共库创建链接到指定项目目录下即可 mklink /d /j D:\codepath\xxxx\yyyyy\tool_base D:\codepath\tool_base

香港公司变更注册地址所需材料及流程全解析

香港公司变更注册地址:所需材料及流程全解析 各位老板好,我是经典世纪胡云帅,随着业务的拓展和发展,香港公司可能需要变更其注册地址。变更注册地址不仅关系到公司的日常运营,还与公司的法律地位和品牌形象息息相关。本…

python--剑指offer--题目目录-学习计划

第一天 09. 用两个栈实现队列30. 包含min函数的栈 第二天 06. 从尾到头打印链表24. 反转链表35. 复杂链表的复制 第三天 05. 替换空格58 - II. 左旋转字符串 第四天 03. 数组中重复的数字53 - I. 在排序数组中查找数字 I53 - II. 0~n-1中缺失的数字 第五天 04.…