[LeetCode]Shortest Word Distance II
2015-11-28 09:33
267 查看
public class WordDistance { private HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>(); public WordDistance(String[] words) { for (int i = 0; i < words.length; i++) { List<Integer> list = map.containsKey(words[i]) ? map.get(words[i]) : new ArrayList<Integer>(); list.add(i); map.put(words[i], list); } } public int shortest(String word1, String word2) { List<Integer> list1 = map.get(word1); List<Integer> list2 = map.get(word2); int result = Integer.MAX_VALUE; int p1 = 0; int p2 = 0; int size1 = list1.size(); int size2 = list2.size(); while (p1 < size1 && p2 < size2) { result = Math.min(result, Math.abs(list1.get(p1) - list2.get(p2))); if (list1.get(p1) > list2.get(p2)) { p2 ++; } else { p1 ++; } } return result; } } // Your WordDistance object will be instantiated and called as such: // WordDistance wordDistance = new WordDistance(words); // wordDistance.shortest("word1", "word2"); // wordDistance.shortest("anotherWord1", "anotherWord2");
相关文章推荐
- 如何在RedHat6(7) or CentOS6(7)上制作无依赖的PostgreSQL数据库的RPM包
- OpenStack L版安装 All In One 之 基础环境搭建
- 本周。实验和网球
- 已经两次被Source Insight中调用关系的自动跳转功能给坑了, 每次浪费较长时间
- 动态规划学习系列——数位DP(练手四)
- PowerPoint 或 Office 无法输入中文
- Android编程实现一键锁屏的方法
- PHP中的数据库一、MySQL优化策略综述
- bootstrap列表组listgroup
- 关于progressbar进度条的显示风格及一些属性的应用
- 中国应试教育的反思与变革
- Huffman编码(Huffman树)
- 实验二实验报告 20135324&&20135330
- sort和qsort的区别
- iOS开发之UITabBarController
- Java学习心得(看到后觉得很好,在博客上分享一下,希望对大家有启发)
- Android版本-20151119
- 第十七节 协议栈LCD显示实验
- 阿里云服务器无法远程其他的mysql服务器
- Exchange 2016 之新建用户邮箱