leetcode243. 最短单词距离(vip题)好像挺简单?

栏目: IT技术 · 发布时间: 4年前

内容简介:给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。示例:假设 words = ["practice", "makes", "perfect", "coding", "makes"]

给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。

示例:

假设 words = ["practice", "makes", "perfect", "coding", "makes"]

输入: word1 = “coding”, word2 = “practice”

输出: 3

输入: word1 = "makes", word2 = "coding"

输出: 1

注意:

你可以假设 word1 不等于 word2, 并且 word1 和 word2 都在列表里。

思路:遍歷一遍字符串,记录最后一次出现的位置即可,然后找出差距最小的。

class Solution {
    public int shortestDistance(String[] words, String word1, String word2) {
        int i1 = -1, i2 = -1;
        int minDistance = words.length;
        for (int i = 0; i < words.length; i++) {
            if (words[i].equals(word1)) {
                i1 = i;
                if (i1 != -1 && i2 != -1 && i1-i2<minDistance)minDistance=i1-i2;
            } else if (words[i].equals(word2)) {
                i2 = i;
                if (i1 != -1 && i2 != -1 && i2-i1<minDistance)minDistance=i2-i1;
            }
        }
        return minDistance;
    }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图解密码技术

图解密码技术

[日] 结城浩 / 周自恒 / 人民邮电出版社 / 2014-12 / 79.00元

本书以图配文的形式,详细讲解了6种最重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。 第一部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统。第二部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第三部分讲述了密钥、随机数、PGP、SSL/TLS 以及密码技......一起来看看 《图解密码技术》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具