【LeetCode】大厂面试算法真题回忆(36)--相同数字的积木游戏

news/2025/3/25 10:20:30/

题目描述

小华和小薇一起通过玩积木游戏学习数学。他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。

小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离。

小薇请你帮忙替她解决这个问题。

输入描述

第一行输入为N,表示小华排成一排的积木总数。

接下来N行每行是一个数字,表示小花排成一排的积木上数字。

其中,取值范围是0 <= 积木上的数字 < 10^9,1 <= 积木长度 <= 10^5

输出描述

相同数字的积木的位置最远距离;如果所有积木数字都不相同,请返回-1。

示例描述

示例一

输入:

5
1
2
3
1
4

输出:

3

示例二

输入:

2
1
2

输出:

-1

解题思路

  1. 创建索引字典,key为积木块上面的数字,value为积木的顺序位置。
  2. 初始化索引字典。
  3. 遍历索引字典中所有的key
    • 如果一个数字上有多个位置,计算最远的位置距离。
    • 获取最远距离。
  4. 返回最远距离,如果都不相同,则返回-1。

解题代码

from collections import defaultdictdef solve_method(nums):idx = defaultdict(list)for i in range(len(nums)):idx[nums[i]].append(i)ans = -1for k in idx.keys():if len(idx[k]) > 1:ans = max(ans, idx[k][-1] - idx[k][0])return ansif __name__ == '__main__':assert solve_method([1, 2, 3, 1, 4]) == 3assert solve_method([1, 2]) == -1
```![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7583da5d4f0145f5a4bcf96db1b6e7b4.png#pic_center)

http://www.ppmy.cn/news/1582449.html

相关文章

2025_0321_生活记录

刚刚写完待会儿早上要汇报的文档&#xff0c;看了一眼时间&#xff0c;现在已经是凌晨2点多了。一直说要早睡&#xff0c;但是一直都没做到。。。算了&#xff0c;不苛求自己了。 昨天是春分&#xff0c;春分秋分&#xff0c;昼夜平分。不知不觉就到春天了&#xff0c;但房间里…

阻止 Mac 在运行任务时进入休眠状态

掌握Caffeinate命令&#xff1a;让您的 Mac 保持清醒以完成关键任务 开发人员经常发现自己在 Mac 上运行持续时间较长的进程。无论是大量文件上传、广泛的数据分析脚本&#xff0c;还是复杂的构建过程&#xff0c;我们最不希望的就是我们的机器在任务中途进入睡眠状态。输入 c…

Qt/C++项目积累:4.远程升级工具 - 4.1 项目设想

背景&#xff1a; 桌面程序一般都支持远程升级&#xff0c;也是比较常用的场景设计。如酷狗音乐的升级&#xff0c;会提供两个选项&#xff0c;自动帮助安装或是新版本提醒&#xff0c;由用户来决定是否升级&#xff0c;都属于远程升级的应用及策略。 看看经过这块的功能了解及…

【和春笋一起学C++】文本文件I/O

在windows系统中读取键盘的输入和在屏幕上显示输出统称为&#xff1a;控制台输入/输出。把读取文本文件和把字符输出到文本文件中统称为&#xff1a;文本文件I/O。 目录 1. 输出文本文件 2. 读取文本文件 1. 输出文本文件 把字符输出到文本文件中和输出到控制台很相似&#x…

豪越科技消防一体化:数字中国智慧应急的关键支撑

在数字中国建设加速推进的当下&#xff0c;国家数据局对 2025 数字中国任务的部署&#xff0c;为各领域数字化转型指明了方向。其中&#xff0c;智慧应急作为保障城市安全运行的重要环节&#xff0c;备受关注。豪越科技消防一体化安全管控解决方案&#xff0c;凭借其先进的理念…

蓝桥杯备赛 背包问题

背包问题 ![[背包问题.png]] 01背包 1.题意概要&#xff1a;有 n n n个物品和一个容量为 V V V的背包&#xff0c;每个物品有重量 w i w_i wi​和价值 v i v_i vi​ 两种属性&#xff0c;要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容…

PostgreSQL_数据使用与日数据分享

目录 前置&#xff1a; 1 使用 1.1 获取前复权因子 1.2 查询股票的纵向数据 1.3 查询股票的横向数据 2 日数据分享&#xff08;截止至&#xff1a;2025-03-21&#xff09; 总结 前置&#xff1a; 本博文是一个系列。在本人“数据库专栏”-》“PostgreSQL_”开头的博文。…

DeepSeek处理多模态数据的技术要点和实现方式

DeepSeek具备处理多模态数据的能力&#xff0c;以下是相关技术要点和实现方式。 1. ‌多模态模型架构‌ ‌单流/双流网络‌&#xff1a;通过将文本和图像输入统一编码器&#xff08;单流&#xff09;或分别编码后交互&#xff08;双流&#xff09;实现模态融合‌。‌预训练模…