LeetCode-Shortest Word Distance II
来源:互联网 发布:nachos java文件系统 编辑:程序博客网 时间:2024/04/29 07:49
因为需要多次call 所以就存成hashmap 存position list
关键是找min的时候 实际上就是给两个list 找其中数字最小difference
方法就是每次更新那个小的 让他变大 去靠近大的 ( 因为list是sorted 从小到大)移动数字比较小的那个的指针
public class WordDistance { HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>(); public WordDistance(String[] words) { for ( int i = 0; i < words.length; i ++ ){ if (map.containsKey( words [ i ] )){ map.get ( words[i] ).add ( i ); } else{ List<Integer> list = new ArrayList<Integer>(); list.add ( i ); map.put ( words[i], list ); } } } public int shortest(String word1, String word2) { int min = Integer.MAX_VALUE; int p1 = 0; int p2 = 0; List<Integer> list1 = map.get ( word1 ); List<Integer> list2 = map.get ( word2 ); while ( p1 < list1.size() && p2 < list2.size() ){ min = Math.min( min, Math.abs ( list1.get ( p1 ) - list2.get ( p2 ) )); if ( list1.get ( p1 ) > list2.get ( p2 ) ) p2 ++; else p1 ++; } return min; }}
0 0
- leetcode--Shortest Word Distance II
- Leetcode: Shortest Word Distance II
- LeetCode-Shortest Word Distance II
- LeetCode Shortest Word Distance II
- leetcode--Shortest Word Distance II
- LeetCode 题解(268) : Shortest Word Distance II
- LeetCode 244. Shortest Word Distance II
- LeetCode 244. Shortest Word Distance II
- Shortest Word Distance II
- Shortest Word Distance II
- Shortest Word Distance II
- leetcode--Shortest Word Distance
- Leetcode: Shortest Word Distance
- *LeetCode-Shortest Word Distance
- LeetCode Shortest Word Distance
- Leetcode Shortest Word Distance
- leetcode--Shortest Word Distance
- [LeetCode244]Shortest Word Distance II
- maven
- WIN7 用VC++6.0调试后退出调试,发现控制台关不了
- 特性二、Objective-C的Attributed属性
- 特性一、iOS的AutoLayout和Autoresizing
- OpenStack Installation Guide for Red Hat Enterprise Linux 7, CentOS 7, and Fedora 20
- LeetCode-Shortest Word Distance II
- SciPy库主要功能
- leetcode之Climbing Stairs
- 各种数据结构优缺点分析
- android v7兼容包
- *LeetCode-Verify Preorder Sequence in Binary Search Tree
- 闲聊Openstack中国的商业模式
- 几个大牛的技术博客
- 基于MATLAB的直方图均衡化