LeetCode-day24-2766. 重新放置石块

LeetCode-day24-2766. 重新放置石块

  • 题目描述
  • 示例
    • 示例1:
    • 示例2:
  • 思路
  • 代码

题目描述

给你一个下标从 0 开始的整数数组 nums ,表示一些石块的初始位置。再给你两个长度 相等 下标从 0 开始的整数数组 moveFrom 和 moveTo 。

在 moveFrom.length 次操作内,你可以改变石块的位置。在第 i 次操作中,你将位置在 moveFrom[i] 的所有石块移到位置 moveTo[i] 。

完成这些操作后,请你按升序返回所有 石块的位置。

注意:

  • 如果一个位置至少有一个石块,我们称这个位置 石块。
  • 一个位置可能会有多个石块。

示例

示例1:

输入:nums = [1,6,7,8], moveFrom = [1,7,2], moveTo = [2,9,5]
输出:[5,6,8,9]
解释:一开始,石块在位置 1,6,7,8 。
第 i = 0 步操作中,我们将位置 1 处的石块移到位置 2 处,位置 2,6,7,8 有石块。
第 i = 1 步操作中,我们将位置 7 处的石块移到位置 9 处,位置 2,6,8,9 有石块。
第 i = 2 步操作中,我们将位置 2 处的石块移到位置 5 处,位置 5,6,8,9 有石块。
最后,至少有一个石块的位置为 [5,6,8,9] 。

示例2:

输入:nums = [1,1,3,3], moveFrom = [1,3], moveTo = [2,2]
输出:[2]
解释:一开始,石块在位置 [1,1,3,3] 。
第 i = 0 步操作中,我们将位置 1 处的石块移到位置 2 处,有石块的位置为 [2,2,3,3] 。
第 i = 1 步操作中,我们将位置 3 处的石块移到位置 2 处,有石块的位置为 [2,2,2,2] 。
由于 2 是唯一有石块的位置,我们返回 [2] 。

思路

哈希集合模拟

  1. 把所有 nums[i] 加到一个哈希集合中。
  2. 遍历 moveFrom 和 moveTo,先把 moveFrom[i]从哈希集合中去掉,然后把 moveTo[i] 加入哈希集合。
  3. 取出哈希集合中的元素,从小到大排序后返回。

代码

class Solution:def relocateMarbles(self, nums: List[int], moveFrom: List[int], moveTo: List[int]) -> List[int]:st = set(nums)for x,y in zip(moveFrom,moveTo):st.remove(x)st.add(y)return sorted(st)

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

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

相关文章

dsa加训

refs: OI Wiki - OI Wiki (oi-wiki.org) 1. 枚举 POJ 2811 熄灯问题 refs : OpenJudge - 2811:熄灯问题 如果要枚举每个灯开或者不开的情况,总计2^30种情况,显然T。 不过我们可以发现:若第i行的某个灯亮了,那么有且仅有第i行和第…

巧用 API 接口,尽览京东商品详情

在电商的浩瀚世界里,京东无疑是一座丰富的宝库,而京东商品详情则是其中的璀璨明珠。对于开发者、数据分析师和电商从业者来说,能够巧妙地运用 API 接口获取京东商品详情,无疑是打开了一扇洞察电商奥秘的窗户。 一、京东商品详情的…

【算法与数据结构】并查集

并查集 合并和查询集合的数据结构,经常用于连通图,最小生成树 K r u s k a l Kruskal Kruskal算法,最近公共祖先( L C A LCA LCA​​) 查询的时间复杂度:小于O( l o g 2 n log_{2}n log2​n)近乎O(1) 【模板】并查集 题目描述…

Win10使用VS Code远程连接Ubuntu服务器时遇到SSH公钥错误的解决方案

在使用Windows 10上的Visual Studio Code(VS Code)远程连接Ubuntu 20.04服务器时,遇到了以下错误: 错误的原因 这个错误消息表明,SSH 客户端检测到远程主机的 ECDSA 公钥已更改。可能是由于以下原因之一&#xff1a…

组蛋白乳酸化 | 调控蛋白Writers、Erasers和Readers

组蛋白修饰的调控可以被归类为三类蛋白:Writers(写入者)、Erasers(擦除者)和Readers(读取者)。Writers是负责在组蛋白上添加修饰基团的蛋白,包括乙酰化、甲基化等修饰。Erasers则是负…

学习记录——day17 数据结构 队列 链式队列

队列介绍 1、队列也是操作受限的线性表:所有操作只能在端点处进行,其删除和插入必须在不同端进行 2、允许插入操作的一端称为队尾,允许删除操作的一端称为队头 3、特点:先进先出(FIFO) 4、分类: 顺序存储的栈称为顺序栈 链式存储的队列&a…

如何使用js 判断在pc打开还是手机

在JavaScript中,你可以通过检查浏览器的userAgent字符串来判断用户是在PC(桌面设备)上打开页面还是在手机上(移动设备)打开。不过,需要注意的是,userAgent字符串可以被用户或浏览器插件修改&…

IP数据报结构详解:从基础到进阶

目录 IP数据报的格式 IP数据报首部的固定部分 IP数据报首部的可变部分 实例分析:数据报的分片 生存时间(TTL)与协议 首部检验和 总结 在网络通信中,IP数据报是至关重要的基本单元。本文将带您深入了解IP数据报的格式及其各个…

【Python】使用抓包Fiddler软件,网络查询 遇到“您的连接不是私密连接”的问题的解决方法

使用Fiddler抓包软件很久,忽然发现网络使用有问题,一点开浏览器就会出现类似下面的页面: 检查了网络情况发现不是网络的问题,也排除了封号的可能。发现只要把抓包软件Fiddler关闭以后就没问题了,就知道问题是出在软件…

国产光电耦合器2024年的机遇与挑战

随着科技的飞速发展,2024年对于国产光电耦合器行业来说,无疑是充满机遇与挑战的一年。本文将深入探讨该行业在技术创新、市场竞争、5G时代、新兴应用领域和国际市场拓展方面的现状及未来前景。 技术创新的黄金期 物联网和人工智能技术的迅猛发展&#x…

Java之集合底层-数据结构

Java集合之数据结构 1 概述 数据结构是计算机科学中研究数据组织、存储和操作的一门学科。它涉及了如何组织和存储数据以及如何设计和实现不同的数据操作算法和技术。常见的据结构有线性数据结构(含数组、链表、栈和队列等),非线性数据结构…

医学多模态:多模态知识增强全幻灯病理基础模型

A Multimodal Knowledge-enhanced Whole-slide Pathology Foundation Model 目录 摘要介绍结果2.1 mSTAR概述2.2 病理幻灯片分类用于诊断和治疗mSTAR改善了幻灯片级诊断任务mSTAR改善了分子预测2.3 病理生存分析预测mSTAR 提高了癌症生存预测2.4 多模态能力mSTAR促进多模态融合…

睿考网:中级会计师考试各科分值是多少?

中级会计考试是会计领域的一个重要考核,考试题型包含多种:单选题、多选题、判断题、计算分析题和综合题。这些不同的题型不仅覆盖了广泛的知识点,而且各自的评分标准也是不一样的。为了帮助大家更全面地掌握各类题型的得分规则,睿…

解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常

解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常 一问题描述:1.项目pom依赖版本:2.bootstrap.yml配置信息3.远程配置:默认public命名空间4.启动报异常,显示没有配置数据源,实际远程已…

Mysql随记

对表mysql.user执行DML语句(数据操作语言),那么此时磁盘数据较新,需要手动执行flush privileges 语句来覆盖内存中的授权数据。其他的DDL(数据操作语言),DQL(数据查询语言),DCL(数据…

韦东山嵌入式linux系列-查询方式的按键驱动程序_编写框架

1 LED 驱动回顾 对于 LED, APP 调用 open 函数导致驱动程序的 led_open 函数被调用。在里面,把 GPIO 配置为输出引脚。安装驱动程序后并不意味着会使用对应的硬件,而 APP 要使用对应的硬件,必须先调用 open 函数。所以建议在驱动…

【Pytorch】cumsum的实现逻辑

本文只记录cumsum的实现逻辑的CUDA部分,也即底层调用了CUDA的什么实现算子。 void launch_cumsum_cuda_kernel(const TensorBase& result, const TensorBase& self, int64_t dim) {AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND2(ScalarType::Half, ScalarType::…

Adobe Character Animator (CH) 安装包软件下载

目录 一、软件简介 二、下载与安装 1. 下载 2. 安装 三、注意事项 1. 硬件要求 2. 兼容性 四、功能介绍 1. 实时面部捕捉 2. 实时语音同步 3. 动作捕捉 五、快捷键操作 CH 提供了一系列快捷键以方便用户快速操作。以下是一些常用的快捷键: 一、软件简介…

django电商用户消费数据分析系统-计算机毕业设计源码20891

摘 要 随着电子商务的快速发展,电商平台积累了大量的用户消费数据。为了更好地理解用户行为、优化商品结构和提升用户体验,本文设计并实现了一个基于Django框架的电商用户消费数据分析系统。 该系统包含后台首页、系统用户(管理员&#xf…

Ubuntu Grub引导优化

配置文件 sudo vim /etc/default/grub修改参数 引导菜单等待时间 GRUB_TIMEOUT3自动引导上次选择的系统 如果安装了双系统或多系统,可以考虑配置此参数。 # 此参数默认值为0,引导第一个引导项 GRUB_DEFAULTsaved# 此参数默认没有,需要手…