924. 单词最短距离

924. 单词最短距离

中文English

给出一个单词列表和两个单词单词1,单词2,返回列表中这两个单词之间的最短距离。

样例

样例 1:

输入:["practice", "makes", "perfect", "coding", "makes"],"coding","practice"
输出:3
解释:index("coding") - index("practice") = 3

样例 2:

输入:["practice", "makes", "perfect", "coding", "makes"],"makes","coding"
输出:1
解释:index("makes") - index("coding") = 1

注意事项

您可以假定单词1不等于单词2,而单词1和单词2在列表中都存在

class Solution:
    """
    @param words: a list of words
    @param word1: a string
    @param word2: a string
    @return: the shortest distance between word1 and word2 in the list
    """
    ‘‘‘
    1.word1和word2可能都存在多个的情况,所以需要两层循环,取出所有可能的距离。(取出列表全部重复元素的索引)
    2.初始化res,将两个单词距离全部append到res里面,返回最小值
    ‘‘‘
    def shortestDistance(self,words,word1,word2):
        res = []
        l_word1 = [index for index,value in enumerate(words) if value == word1]
        l_word2 = [index for index,value in enumerate(words) if value == word2]

        #此时求出全部的距离,append到res里面
        for i in l_word1:
            for j in l_word2:
                s = abs(i - j)
                res.append(s)
        return min(res)

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12590515.html

时间: 2024-10-07 23:34:01

924. 单词最短距离的相关文章

(算法)两个单词的最短距离

题目: 有个内含单词的超大文本,给定任意两个单词,找出这个文件中两个单词的最短距离. 思路: 通过两个两个变量来记录两个单词最后出现的位置,然后每次计算两者的距离,并更新最小距离. 假设需要重复查找任意两个单词的最短距离,则需要构造一个散列表,记录每个单词及其出现的位置.当查找某两个单词的最短距离时,只需找出该两单词所在列表差值最小的位置. 查找方法:可以将两个有序列表合并(列表元素包含位置及其所属单词,可以构造结构体). 代码: #include<iostream> #include<

电影功夫熊猫使用的单词分析

你英语四级过了吗?功夫熊猫看了吗?功夫熊猫使用了995个英语单词,你会说很简单吧,别急,我给你分析一下,这些单词中有236个单词不在四级词汇范围内,花两分钟时间看看你是否认识这些单词,单词后面跟的数字表示该单词在电影中出现的次数. 你也可以获取本文的分析程序,这样你就可以分析其他电影了.看一部电影之前,先通过这种方式分析一下,然后学习自己不认识的单词,然后再去看电影,如此这样坚持下去,英语水平就会有很大的提升. words(995): 1. you 2492. the 1893. i 1844.

常见计算机英语单词

1. file n. 文件:v. 保存文件 2. command n. 命令指令 3. use v. 使用用途 4. program n. 程序 5. line n. (数据程序)行线路 6. if conj. 如果 7. display vt. 显示显示器 8. set v. 设置n. 集合 9. key n. 键关键字关键码 10. list n. 列表显示v. 打印 11. by prep. 凭靠沿 12. press v. 按压 13. with prep. 用与随着 14. forma

004、单词吗?

15:43 2015-04-07 什么是英语单词?只是要连着写,中间没有空白符(空格.换行.Tab.等)的,都是英语单词,是吗?是的,英国佬估计就是这样想的.在29本著作,18个作者,四百六十万个单词中,统计出最常用的一千个单词中,居然包括这些: don'tI'llit'scan'tI'mwon'tthere'sI'vedidn'the'sfather'syou'llman's'emo'clockwouldn'tshe'smother'sma'amcouldn't I 服了 U !早就想整理这一

单词最近距离

题目描述 有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值). 给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y.请返回两个单词的最短距离.保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于1000. class Distance { public: int getDistance(vector<string> article, in

lintcode 单词接龙II

题意 给出两个单词(start和end)和一个字典,找出所有从start到end的最短转换序列 比如: 1.每次只能改变一个字母. 2.变换过程中的中间单词必须在字典中出现. 注意事项 所有单词具有相同的长度. 所有单词都只包含小写字母. 样例 给出数据如下: start = "hit" end = "cog" dict = ["hot","dot","dog","lot","

[CTCI] 单词最近距离

单词最近距离 题目描述 有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值). 给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y.请返回两个单词的最短距离.保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于1000. 1 class Distance { 2 public: 3 int getDistance(vector<string>

[LeetCode] 243. Shortest Word Distance 最短单词距离

Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list. For example,Assume that words = ["practice", "makes", "perfect", "coding", "makes"]. G

[Swift]LeetCode243.最短单词距离 $ Shortest Word Distance

Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list. For example,Assume that words = ["practice", "makes", "perfect", "coding", "makes"]. G