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

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

这几题都挺没意思的,建一个hashMap,里面存放出现过的位置的list

short稍微有点讲究,就是不要两个都重头找一遍,每次只移动小的那个

 

1 public class WordDistance { 2     Map
> map; 3 4 public WordDistance(String[] words) { 5 map = new HashMap
>(); 6 for(int i = 0; i < words.length; i++) { 7 if(map.containsKey(words[i])) { 8 List
cur = map.get(words[i]); 9 cur.add(i);10 map.put(words[i], cur);11 } else {12 List
cur = new ArrayList
();13 cur.add(i);14 map.put(words[i], cur);15 }16 }17 }18 19 public int shortest(String word1, String word2) {20 List
list1 = map.get(word1);21 List
list2 = map.get(word2);22 int i = 0; 23 int j = 0;24 int min = Integer.MAX_VALUE;25 while(i < list1.size() && j < list2.size()) {26 min = Math.min(min, Math.abs(list1.get(i) - list2.get(j)));27 if(list1.get(i) < list2.get(j)) {28 i++;29 } else {30 j++;31 }32 } 33 return min;34 }35 }36 37 // Your WordDistance object will be instantiated and called as such:38 // WordDistance wordDistance = new WordDistance(words);39 // wordDistance.shortest("word1", "word2");40 // wordDistance.shortest("anotherWord1", "anotherWord2");

 

转载于:https://www.cnblogs.com/warmland/p/5720125.html

你可能感兴趣的文章
SpringMvc拦截器运行原理。
查看>>
MySQL基础3
查看>>
逻辑斯蒂回归(Logistic Regression)
查看>>
360前端面试题 2015年 07
查看>>
移动端页面使用rem布局
查看>>
谷歌中国ICP牌照过期 高管暗示员工自谋出路...
查看>>
视口viewport
查看>>
HDU1024解题报告
查看>>
js css 实现简单的计算器
查看>>
百度是如何识别原件及伪原创文章?
查看>>
各种加解密算法比較
查看>>
ExtJs自学教程(1):一切从API開始
查看>>
redis详解(四)--高可用分布式集群
查看>>
IntelliJ IDEA 添加类注释模板
查看>>
acdream.Bet(数学推导)
查看>>
Oracle层次查询
查看>>
vue调试工具之 vue-devtools的安装
查看>>
UCOS2_STM32F1移植详细过程(一)
查看>>
laravel的速查表
查看>>
5-24
查看>>