leetcode 599. 两个列表的最小索引总和 求解思路

R语言中的混淆矩阵(Confusion Matrix)是一种常用的评估多分类模型性能的工具 除了准确率,混淆矩阵还提供了其他有用的指标,如灵敏度(Sensitivity)、特异度(Specificity)、精确度(Precision)和召回率(Recall)。混淆矩阵通过比较模型预测结果与实际标签的一致性,帮助我们了解模型的分类准确性和错误类型。此外,混淆矩阵还提供了各种错误类型的统计信息,如假阳性(False Positive)和假阴性(False Negative)等。通过混淆矩阵,我们可以了解模型的整体性能和错误类型,从而对模型进行评估和改进。最后,为了更好地理解混淆矩阵的结果,可以使用。 阅读详情

先来看下题目:

599. 两个列表的最小索引总和

假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。

你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。

示例 1:

输入:
["Shogun", "Tapioca Express", "Burger King", "KFC"]
["Piatti", "The Grill at Torrey Pines", "Hungry Hunter Steakhouse", "Shogun"]
输出: ["Shogun"]
解释: 他们唯一共同喜爱的餐厅是“Shogun”。

示例 2:

输入:
["Shogun", "Tapioca Express", "Burger King", "KFC"]
["KFC", "Shogun", "Burger King"]
输出: ["Shogun"]
解释: 他们共同喜爱且具有最小索引和的餐厅是“Shogun”,它有最小的索引和1(0+1)。

提示:

  1. 两个列表的长度范围都在 [1, 1000]内。
  2. 两个列表中的字符串的长度将在[1,30]的范围内。
  3. 下标从0开始,到列表的长度减1。
  4. 两个列表都没有重复的元素。

这个题目在最开始还没有理解其真正的含义。导致我走了不少的弯路。我将我的求解思路写下来,记录下这一求解的过程。

方案1:直接用map记录返回

第一眼看这个题目的时候,我的第一反应这不就是找出最喜欢的餐厅列表么,那不就是求公共集么。我就首先想到了,使用map记录下输入1,然后再输入2中查找,如果能查找到第一个,就直接返回第一个。

class Solution {
  public String[] findRestaurant(String[] list1, String[] list2) {

    if (list1 == null || list2 == null) {
      return new String[0];
    }

    Set<String> dataSet = new HashSet<>(list2.length);
    for (int i = 0; i < list2.length; i++) {
      dataSet.add(list2[i]);
    }

    // 查找共同的爱好
    for (int i = 0; i < list1.length; i++) {
      if (dataSet.contains(list1[i])) {
        return new String[] {list1[i]};
      }
    }

    return new String[0];
  }
}

但现实很快就打脸了,当我提交运行后,很快就提示解答错误:

在这里插入图片描述

我这边意部识到程序有问题。那问题在哪里呢?我没有想明白。这时候我又才回过头来将题目给再读一遍。

注意到这一行字

你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅

索引和,这一个原来没有注意到的词,却是加粗的提示。还是审题不清啊。那什么是索引和呢?数组的索引就是数组的下标,换句话说就是下标的和。而且是在两个数组中查找下标和最小的元素。经过我这再次的审题才发现在真正的求解问题。

题目下次读三遍吧!这么重要的提示,还是被遗漏了。

方案2: 使用有序map求解

经过两次的审题发现,这个题目要求解的就是最小的索引和,但相同的索引和可能会有多个,这也正是问题求解的复杂点之一。那如何求解呢?

2.1 填充Map的元素和索引号

还是使用一个Map记录,以元素为key,索引下标为值。这段程序表示就是:

    // 使用map记录下索引号
    Map<String, Integer> srcMap = new HashMap<>(list1.length);
    // 填充下索引号
    for (int i = 0; i < list1.length; i++) {
      srcMap.put(list1[i], i);
    }

2.2 按元素和填充有序map

接下来就是求解的关键了。

我使用的是一个有序map来记录,以索引和为key,以元素为集合类型值。为什么要这么设计呢?我的一个想法是,既然是求解索引和最小的元素,那就以索引和为key,所有的元素为值,再加上索引和为Int类型,有序map默认从小到大排序。所有首个元素即为要求解的元素。

TreeMap<Integer, List<String>> dataMap = new TreeMap<>();

数据结构想好了,那接下来就是将元素填充到这个Map中了。这个逻辑就是遍历输入2,检查元素必须要在元素1的map中,然后将相同的索引和相加,再存储到有序map中.

    // 使用有序map来记录下,有序和相同的数据集
    TreeMap<Integer, List<String>> dataMap = new TreeMap<>();
    Integer minSum;
    for (int i = 0; i < list2.length; i++) {
      //首先元素必须在输入1中
      minSum = srcMap.get(list2[i]);
      if (null == minSum) {
        continue;
      }

      // 计算索引和
      int key = i + minSum;
      // 使用索引和作为key去查找
      List<String> continueList = dataMap.get(key);
      // 当数据不存在时,则加入
      if (null == continueList) {
        continueList = new ArrayList<>();
        dataMap.put(key, continueList);
      }
      continueList.add(list2[i]);
    }

2.3 返回求解的结果

当元素所有都被填充到这个有序Map中后,有序和的最小的也已经找到了,那就是这个有序map的首个元素。接下来就是将这个元素转换返回即可了。

    List<String> dataList = dataMap.get(dataMap.firstKey());
    String[] dataRsp = new String[dataList.size()];
    for (int i = 0; i < dataList.size(); i++) {
      dataRsp[i] = dataList.get(i);
    }

2.4 完整的代码

最后再来看下完整的代码:

public class Solution {

  public String[] findRestaurant(String[] list1, String[] list2) {

    if (list1 == null || list2 == null) {
      return new String[0];
    }

    // 使用map记录下索引号
    Map<String, Integer> srcMap = new HashMap<>(list1.length);
    // 填充下索引号
    for (int i = 0; i < list1.length; i++) {
      srcMap.put(list1[i], i);
    }

    // 使用有序map来记录下,有序和相同的数据集
    TreeMap<Integer, List<String>> dataMap = new TreeMap<>();
    Integer minSum;
    for (int i = 0; i < list2.length; i++) {
      //首先元素必须在输入1中
      minSum = srcMap.get(list2[i]);
      if (null == minSum) {
        continue;
      }

      // 计算索引和
      int key = i + minSum;
      // 使用索引和作为key去查找
      List<String> continueList = dataMap.get(key);
      // 当数据不存在时,则加入
      if (null == continueList) {
        continueList = new ArrayList<>();
        dataMap.put(key, continueList);
      }
      continueList.add(list2[i]);
    }

    List<String> dataList = dataMap.get(dataMap.firstKey());
    String[] dataRsp = new String[dataList.size()];
    for (int i = 0; i < dataList.size(); i++) {
      dataRsp[i] = dataList.get(i);
    }

    return dataRsp;
  }
}

2.5 提交结果

在这里插入图片描述

方案3: 优化有序map的求解方案

3.1 只保留最小索引和

当使用有序方案运行出结果后。我就发现一个问题,那就是既然我们求解的是最小的一组元素,我们可以跳过那些非最小元素的记录,中间那些非最小元素的,就可以直接抛弃了。不用记录了。

public class Solution {

  public String[] findRestaurant(String[] list1, String[] list2) {

    if (list1 == null || list2 == null) {
      return new String[0];
    }

    // 使用map来求解,list1的索引和记录
    Map<String, Integer> srcMap = new HashMap<>(list1.length);

    for (int i = 0; i < list1.length; i++) {
      srcMap.put(list1[i], i);
    }

    Integer sumMin = null;
    List<String> continueList = new ArrayList<>();
    int minSum;

    for (int i = 0; i < list2.length; i++) {
      if (srcMap.containsKey(list2[i])) {
        minSum = srcMap.get(list2[i]);
        int key = i + minSum;
        if (sumMin == null) {
          sumMin = key;
        }
        // 当数据比已知的最小数据大时,则跳过处理
        else if (key > sumMin) {
          continue;
        }
        // 如果找到比当前小的,则清空数据集,重新加入
        else if (key < sumMin) {
          sumMin = key;
          continueList.clear();
        }

        if (key == sumMin) {
          continueList.add(list2[i]);
        }
      }
    }

    String[] dataRsp = new String[continueList.size()];
    for (int i = 0; i < continueList.size(); i++) {
      dataRsp[i] = continueList.get(i);
    }
    return dataRsp;
  }
}

在运行上有了4毫秒的一个提升

在这里插入图片描述

3.2 优先存储map避免扩容

// 使用map来求解,list1的索引和记录,阈值设置为1,避免扩容
Map<String, Integer> srcMap = new HashMap<>(list1.length, 1);

3.3 最终优化的代码

public class Solution {

  public String[] findRestaurant(String[] list1, String[] list2) {

    if (list1 == null || list2 == null) {
      return new String[0];
    }

    // 使用map来求解,list1的索引和记录,阈值设置为1,避免扩容
    Map<String, Integer> srcMap = new HashMap<>(list1.length, 1);
    for (int i = 0; i < list1.length; i++) {
      srcMap.put(list1[i], i);
    }

    Integer sumMin = null;
    List<String> continueList = new ArrayList<>();
    int minSum;

    for (int i = 0; i < list2.length; i++) {
      if (srcMap.containsKey(list2[i])) {
        minSum = srcMap.get(list2[i]);
        int key = i + minSum;
        if (sumMin == null) {
          sumMin = key;
        }
        // 当数据比已知的最小数据大时,则跳过处理
        else if (key > sumMin) {
          continue;
        }
        // 如果找到比当前小的,则清空数据集,重新加入
        else if (key < sumMin) {
          sumMin = key;
          continueList.clear();
        }

        if (key == sumMin) {
          continueList.add(list2[i]);
        }

        // 如果当前最小的数,小于或者等于索引,则可以返回
        if (!continueList.isEmpty() && sumMin <= i) {
          break;
        }
      }
    }

    String[] dataRsp = new String[continueList.size()];
    for (int i = 0; i < continueList.size(); i++) {
      dataRsp[i] = continueList.get(i);
    }
    return dataRsp;
  }
}
2026年美赛数学建模竞赛 MCM B题:使用太空电梯系统建立月球殖民地 问题一 月球殖民地材料运输的三种场景建模 详细解题思路和代码 如果运输系统不能完美工作(例如,系绳摆动、火箭失败、电梯故障等),你的解决方案在多大程度上会发生变化?技术可行性:三种方案在技术上都是可行的,但挑战不同 经济性:混合方案在长期视角下最具成本效益 时间效率:并行运输可以显著缩短总建设时间环境影响:太空电梯的环境优势明显,混合方案可平衡需求风险分散:混合方案提供了天然的风险分散机制 阅读详情

相关推荐

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 526

java 实现hash索引_Java实现 LeetCode 599 两个列表的最小索引总和(使用hash提高效率)...

599. 两个列表的最小索引总和假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:[“Shogun”, “Tapioca Express”, “Burger King”, “KFC”][“...

weixin_32537261的博客 235

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1968

两个列表的最小索引和

假设Andy和Doris想要选择一家餐馆吃晚餐,他们都有一个各自最喜爱的餐馆列表。 你需要用最少的列表索引总和来帮助他们找出他们的共同兴趣。 如果最少列表索引总和的答案不唯一,则输出所有答案并且没有顺序要求。 你可以假设总有一个答案。 样例 案例 1: 输入: ["Shogun", "Tapioca Express", "Burger King", "KFC"] ["Piatti", "T...

weixin_41791402的博客 502

在WPS/Office中免费使用AI,快速提升办公效率!​

《免费解锁WPS/Office AI办公神器教程》摘要: 本教程详解如何通过第三方插件OfficeAI免费实现WPS/Office智能办公,突破官方付费限制。从安全设置到安装配置,手把手教学,涵盖文档生成、PPT美化、Excel图表等核心功能。关键优势包括零成本、全场景支持及云端/本地双模式切换,并附常见问题解决方案。注意需使用WPS 2024+版本,安装时需临时关闭杀毒软件。教程强调工具来源合法性,建议商用购买正版授权。(149字)

杜哥无敌的博客 2303

普中科技ESP8266-01s模块CWJAP:3 FAIL报错?手把手教你用AT+CWSAP指令搞定WiFi配置

本文详细解析了普中科技ESP8266-01s模块常见的CWJAP:3 FAIL报错问题,并提供了通过AT+CWSAP指令正确配置WiFi的实战解决方案。文章涵盖错误根源分析、硬件连接指南、AT指令详解及高级调试技巧,帮助开发者快速解决ESP8266-01s模块的WiFi配置难题。

weixin_42653691的博客 201

LeetCode 每日一题 599.两个列表的最小索引和(简单)

LeetCode每日一题

JIANGhanha的博客 299

FOC电机控制实战:增量式编码器零位校准的5个关键步骤(附STM32代码)

本文详细解析了FOC电机控制中增量式编码器零位校准的5个关键步骤,包括电角度锁定、定时器计数清零、机械偏移角补偿等,并提供了STM32平台的实战代码。通过精准的零位校准,可显著提升电机控制系统的精度和稳定性,适用于工业伺服和机器人关节等高精度场景。

rum55的博客 617

LeetCode 599. 两个列表的最小索引总和

【代码】LeetCode 599. 两个列表的最小索引总和。

正在学算法的小朋友的博客 161

【知识分享】什么是同轴传输线结构?

同轴传输线的几何形状由中心导体组,嵌在介电材料(Dielectric)中,并且,被连续的外导体所包围,也被称为屏蔽(Shield)。内外导体有相同的几何中心轴,因此得名同轴(Coaxial)。

一只豌豆象的博客 2372

鲁棒优化 (Robust Optimization) 算法详解及案例分析

鲁棒优化是一种用于处理不确定性优化问题的方法。其目标是在不确定性参数的可能取值范围内,找到一个对不确定性具有鲁棒性的解。

闲人编程的博客 4327

LeetCode 599: 两个列表的最小索引总和

目录LeetCode 599: 两个列表的最小索引总和题目描述解题 LeetCode 599: 两个列表的最小索引总和 题目描述 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 【示例 1】 输入: [“Shogun”, “Tapioca Express”, “Burger King”, “KFC”] [“P

s_Shune 357

【2025年华为秋招(AI)-11月19日-第二题(200分)- 终端款型聚类识别】(题目+思路+Java&C++&Python解析+在线测试)

该摘要总结了题目要求、输入输出格式、KMeans算法的实现步骤以及关键点。以下是150字内的摘要: 本文提出基于KMeans算法对终端型号进行聚类的方法。通过包间隔时长、连接持续时长、漫游前后信号强度4个特征,使用欧氏距离度量相似度。算法采用固定初始化策略(前k个样本作为初始质心),经过分配-更新迭代,直至质心移动小于1e-8或达到最大迭代次数。最终输出各簇样本数并按升序排列,解决了终端型号自动分类问题。示例显示该方法能有效识别3-4类终端,并准确统计每类数量。

m0_73659489的博客 141

599.两个列表的最小索引总和

599.两个列表的最小索引总和 题目描述 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: [“Shogun”, “Tapioca Express”, “Burger King”...

chenyutingdaima的博客 261

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

leetcode 599. 两个列表的最小索引总和

【题目】599. 两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["Shogun", "Tapioca Express", "Burger King",...

Sophia_fez的博客 461

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LeetCode 599. 两个列表的最小索引总和(Java)

599. 两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: [“Shogun”, “Tapioca Express”, “Burger King”, “KF...

nuts_and_bolts的博客 346

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

简单字符串处理:Leetcode 599:两个列表的最小索引总和

Leetcode 599:两个列表的最小索引总和 问题: 思路: 使用STL中的无序关联容器unordered_map,键为字符串,对应的值为索引。将list1中的数据加入容器中,设索引和最小值的初始值为10000,对于list2中的字符串,查找容器中是否有键值相等的元素(相等的字符串),若有,计算索引和,若小于当前最小值,将最小值更新,并将已保存的全部字符串清除(找到了更好的最小索引)。若索引和与当前最小值相同,则将当前字符串保存。 代码: class Solution { public: v

qq_44709990的博客 252

「 每日一练,快乐水题 」599. 两个列表的最小索引总和

🔴力扣原题: 力扣链接:599. 两个列表的最小索引总和 🟠题目简述: 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设答案总是存在。 🟡解题思路: 1.首先构建2个map:1.用于两个统计餐厅出现的字数2.用于计算索引和; 2.根据上述两个map得出相同的餐厅的索引和,插入map; 3.遍历得出索引和最小的即可。 🟢

谁吃薄荷糖 2466

LeetCode599 两个列表的最小索引总和

通过以上的步骤和代码,我们成功地解决了帮助 Andy 和 Doris 选择共同喜爱且索引和最小的餐厅的问题。这个问题看似简单,但涉及到了数组遍历、字符串比较、动态内存分配和管理等多个重要的编程概念。在实际应用中,这种算法思路可以应用到很多场景,比如在两个有序列表中查找共同元素并根据某种规则筛选,或者在多个数据集之间进行高效的匹配和筛选等。希望通过这篇文章,你不仅掌握了这个问题的解决方案,还能对编程中的逻辑思维和问题解决能力有更深入的理解。

qq_64604732的博客 865

【LeetCode】599. 两个列表的最小索引总和

题目 599. 两个列表的最小索引总和 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设答案总是存在。 示例 1: 输入: list1 = ["Shogun", "Tapioca Express", "Burger King", "KFC"],list2 = ["Piatti", "The Grill at Torrey

passnight的博客 6195

LeetCode——599 两个列表的最小索引总和

问题描述: 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["Shogun", "Tapioca Express", "Burger King", "KFC"] ["P...

优快云的博客 485

Leetcode刷题java之599. 两个列表的最小索引总和

执行结果: 通过 显示详情 执行用时 :8 ms, 在所有Java提交中击败了100.00%的用户 内存消耗 :38.7 MB, 在所有Java提交中击败了97.85%的用户 题目: 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出...

逆水行舟,不进则退 599

LeetCode-Python-599. 两个列表的最小索引总和

假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["Shogun", "Tapioca Express", "Burger King", "KFC"] ["Piatti",...

Keep Coding 761

Leetcode 599.两个列表的最小索引总和

两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: ["Shogun", "Tapioca Express", "Burger King",...

kexinxin1的博客 131

(力扣)第599. 两个列表的最小索引总和

599. 两个列表的最小索引总和 题目要求: 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 解题思路: 相同元素的索引; 计算相同元素的索引之和,获取最小值; 获取索引之和等于最小值的元素,并返回。 题解代码: class Solution: def findRestaurant(self,

搞点學術的研究生 267

599. 两个列表的最小索引总和

地址: 力扣https://leetcode-cn.com/problems/minimum-index-sum-of-two-lists/ 题目: 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设答案总是存在。 示例 1: 输入: list1 = ["Shogun", "Tapioca Express

mrbone9的博客 472
上一篇: 一致性哈希算法
下一篇: Java调用Shell命令和脚本-Runtime方式
null_null_bug
博客等级 码龄7年 72粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值