LeetCode简单题之两个列表的最小索引总和

news/2025/3/15 1:13:59/

题目

假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。
你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设答案总是存在。
示例 1:
输入: list1 = [“Shogun”, “Tapioca Express”, “Burger King”, “KFC”],list2 = [“Piatti”, “The Grill at Torrey Pines”, “Hungry Hunter Steakhouse”, “Shogun”]
输出: [“Shogun”]
解释: 他们唯一共同喜爱的餐厅是“Shogun”。
示例 2:
输入:list1 = [“Shogun”, “Tapioca Express”, “Burger King”, “KFC”],list2 = [“KFC”, “Shogun”, “Burger King”]
输出: [“Shogun”]
解释: 他们共同喜爱且具有最小索引和的餐厅是“Shogun”,它有最小的索引和1(0+1)。
提示:
1 <= list1.length, list2.length <= 1000
1 <= list1[i].length, list2[i].length <= 30
list1[i] 和 list2[i] 由空格 ’ ’ 和英文字母组成。
list1 的所有字符串都是 唯一 的。
list2 中的所有字符串都是 唯一 的。
来源:力扣(LeetCode)

解题思路

  这个题一个是要求给出两个列表中都有的元素,另一个是要计算这些相同元素的下标和。可以先用集合交集来求出两个列表中相同的元素,然后建立字典将字符串作为下标然后下标作为元素方便计算最小下标和。

class Solution:def findRestaurant(self, list1: List[str], list2: List[str]) -> List[str]:d1={}d2={}#调换索引方式for i in range(len(list1)):d1[list1[i]]=ifor i in range(len(list2)):d2[list2[i]]=itemp=list(set(list1)&set(list2)) #求出重复元素if len(temp)==1:return tempMAX=len(list1)+len(list2)t=[]#根据下标和排序for i in temp:t.append([d1[i]+d2[i],i])t.sort()#如果最小下标和只有一个if t[1][0]>t[0][0]:return [t[0][1]]#如果最小下标和有多个for i in range(1,len(t)):if t[i][0]!=t[0][0]:return [j[1] for j in t[0:i]]return temp

在这里插入图片描述


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

相关文章

apt命令概述,apt命令在Ubuntu16.04安装openjdk-7-jdk

apt是一条linux命令&#xff0c;适用于deb包管理式操作系统&#xff0c;主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。deb包是Debian 软件包格式的文件扩展名。 翻译过来就是&#xff1a; apt是一个命令行包管理器&#xff0c;为 搜索和管理以及查询…

LeetCode简单题之数组形式的整数加法

题目 对于非负整数 X 而言&#xff0c;X 的数组形式是每位数字按从左到右的顺序形成的数组。例如&#xff0c;如果 X 1231&#xff0c;那么其数组形式为 [1,2,3,1]。 给定非负整数 X 的数组形式 A&#xff0c;返回整数 XK 的数组形式。 示例 1&#xff1a; 输入&#xff1a;A…

Linux学习(3)——安装vmtools

安装vmtools vmtools安装后&#xff0c;我们可以在Windows下更好的管理vm虚拟机可以设置Windows和centos的共享文件夹 安装步骤进入centos点击vm菜单的–>install vmware toolscentos会 出现一个vm的安装包,xx.tar.gz拷贝到/opt使用解压命令tar,得到一个安装文件 cd /opt/[…

从DPU开始到RDMA到CUDA

从DPU开始到RDMA到CUDA DPU是Data Processing Unit的简称&#xff0c;它是最新发展起来的专用处理器的一个大类&#xff0c;是继CPU、GPU之后&#xff0c;数据中心场景中的第三颗重要的算力芯片&#xff0c;为高带宽、低延迟、数据密集的计算场景提供计算引擎。 DPU将作为CPU的…

LeetCode简单题之棒球比赛

题目 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成&#xff0c;过去几回合的得分可能会影响以后几回合的得分。 比赛开始时&#xff0c;记录是空白的。你会得到一个记录操作的字符串列表 ops&#xff0c;其中 ops[i] 是你需要记录的第 i 项操作&#xf…

数据结构:二叉树的非递归遍历

二叉树的前序遍历题目描述思路代码二叉树的中序遍历题目描述思路代码二叉树的后序遍历题目描述思路代码二叉树的层序遍历题目描述前提知识代码二叉树的前序遍历 144.二叉树的前序遍历 题目描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 提示&#…

LeetCode简单题之寻找数组的中心下标

题目 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和视为 0 &#xff0c;因为在下标的左侧不存在元素。这…

AWS概述

Aamzon Web Services提供了一系列全球范围的云产品&#xff0c;包括计算、存储、数据库、分析、网络、移动、开发工具、管理工具、IoT、安全和企业应用&#xff1a;按需交付、及时可用、采用随用随付的定价模式。你可以畅享200多种服务&#xff0c;从数据仓库到部署工具&#x…