LeetCode 244. 最短单词距离 II

编程入门 行业动态 更新时间:2024-10-19 16:26:10

LeetCode 244. <a href=https://www.elefans.com/category/jswz/34/1769359.html style=最短单词距离 II"/>

LeetCode 244. 最短单词距离 II

LeetCode 244. 最短单词距离 II

文章目录

  • LeetCode 244. 最短单词距离 II
  • 题目描述
  • 一、解题关键词
  • 二、解题报告
    • 1.思路分析
    • 2.时间复杂度
    • 3.代码示例
    • 2.知识点
  • 总结
  • 相同题目

题目描述

请设计一个类,使该类的构造函数能够接收一个字符串数组。然后再实现一个方法,该方法能够分别接收两个单词,并返回列表中这两个单词之间的最短距离。实现 WordDistanc 类:
WordDistance(String[] wordsDict) 用字符串数组 wordsDict 初始化对象。
int shortest(String word1, String word2) 返回数组 worddict 中 word1 和 word2 之间的最短距离。
  示例 1:
  输入:
  [“WordDistance”, “shortest”, “shortest”]
  [[[“practice”, “makes”, “perfect”, “coding”, “makes”]], [“coding”, “practice”], [“makes”, “coding”]]
  输出:
  [null, 3, 1]
  解释:
  WordDistance wordDistance = new WordDistance([“practice”, “makes”, “perfect”, “coding”, “makes”]);
  wordDistance.shortest(“coding”, “practice”); // 返回 3
  wordDistance.shortest(“makes”, “coding”); // 返回 1

LeetCode 244. 最短单词距离 II
提示:

1 <= wordsDict.length <= 3 * 104
1 <= wordsDict[i].length <= 10
wordsDict[i] 由小写英文字母组成
word1 和 word2 在数组 wordsDict 中
word1 != word2shortest 操作次数不大于 5000 

一、解题关键词


二、解题报告

1.思路分析

2.时间复杂度

3.代码示例

class WordDistance {Map<String,List<Integer>> map = new HashMap<>();public WordDistance(String[] wordsDict) {int len = wordsDict.length;for(int i = 0;i <len ;i++){String word = wordsDict[i];map.putIfAbsent(word,new ArrayList<>());map.get(word).add(i);}}public int shortest(String word1, String word2) {List<Integer> index1 = map.get(word1);List<Integer> index2 = map.get(word2);int size1= index1.size();int size2 = index2.size();int pos1 = 0;int pos2 = 0;int ans = Integer.MAX_VALUE;while(pos1 < size1 && pos2 < size2){int idx1 = index1.get(pos1);int idx2 = index2.get(pos2);ans = Math.min(ans,Math.abs(idx1 - idx2));if(idx1 < idx2){pos1++;} else{pos2++;}}return ans;}
}/*** Your WordDistance object will be instantiated and called as such:* WordDistance obj = new WordDistance(wordsDict);* int param_1 = obj.shortest(word1,word2);*/ 

2.知识点



总结

相同题目

xxx

更多推荐

LeetCode 244. 最短单词距离 II

本文发布于:2024-02-11 11:48:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1680832.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:最短   单词   距离   LeetCode   II

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!