博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
245. Shortest Word Distance III
阅读量:5098 次
发布时间:2019-06-13

本文共 1542 字,大约阅读时间需要 5 分钟。

This is a follow up of . The only difference is now word1 could be the same as word2.

Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list.

word1 and word2 may be the same and they represent two individual words in the list.

For example,

Assume that words = ["practice", "makes", "perfect", "coding", "makes"].

Given word1 = “makes”word2 = “coding”, return 1.

Given word1 = "makes"word2 = "makes", return 3.

 

思路:在第一版的基础上加上相同的分支即可。在第一个index上卡住了,想用prev指针但发现很麻烦。其实只要在碰到第一个数的时候只更新指针不变min即可,用初始化负数来区分即可。

if(pos1>=0)

{
min=Math.min(i-pos1,min);
}
pos1=i;

public class Solution {    public int shortestWordDistance(String[] words, String word1, String word2) {        if(words.length==2)        {            return 1;        }        int pos1=-1;        int pos2=-2;        int min=Integer.MAX_VALUE;        boolean check=word1.equals(word2);        for(int i=0;i
=0) { min=Math.min(i-pos1,min); } pos1=i; } } } else { if(words[i].equals(word1)) { pos1=i; } else if(words[i].equals(word2)) { pos2=i; } if(pos1>=0&&pos2>=0) { min=Math.min(Math.abs(pos2-pos1),min); } } } return min; }}

 

转载于:https://www.cnblogs.com/Machelsky/p/5892209.html

你可能感兴趣的文章
来自于一个问题的回答对自己的反思 php怎么发送邮件?发送邮件插件PHPMailer
查看>>
找的网上的js日期格式化问题出错了显示 一堆 NaN的东西
查看>>
eclipse快捷键
查看>>
Linux系统GNOME主题安装与Tweaks工具使用
查看>>
修改DNS服务器。
查看>>
SCP命令
查看>>
使用Flash Builder建SDK为3系列的项目默认为中文的修改方法
查看>>
SQL优化
查看>>
Luogu P1463 [HAOI2007]反素数ant:数学 + dfs【反素数】
查看>>
C#中建立treeView
查看>>
hadoop的安装和配置
查看>>
spinnaker
查看>>
hdu 1599 find the mincost route(无向图的最小环)
查看>>
转载:解读CSS布局之-水平垂直居中(2)
查看>>
第十八章 30限制数组越界
查看>>
浅谈unique列上插入重复值的MySQL解决方案
查看>>
hdu 4859(思路题)
查看>>
11.2.0.4 sql*loader/oci direct load导致kpodplck wait before retrying ORA-54
查看>>
sql server 2008空间释放
查看>>
团队-科学计算器-最终总结
查看>>