zoukankan      html  css  js  c++  java
  • leetcode243- Shortest Word Distance- easy

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

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

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

    Note:
    You may assume that word1 does not equal to word2, and word1 and word2 are both in the list.

    遍历一遍,用两个List记录idx,最后互相配对打擂台出最小的就好。

    class Solution {
        public int shortestDistance(String[] words, String word1, String word2) {
            
            List<Integer> idx1 = new ArrayList<>();
            List<Integer> idx2 = new ArrayList<>();
    
            for (int i = 0; i< words.length; i++) {
                if(word1.equals(words[i])) {
                    idx1.add(i);
                } else if (word2.equals(words[i])){
                    idx2.add(i);
                }
            }
            
            int result = Integer.MAX_VALUE;
            for (int i = 0; i < idx1.size(); i++) {
                for (int j = 0; j < idx2.size(); j++) {
                    result = Math.min(result, Math.abs(idx1.get(i) - idx2.get(j)));
                }
            }
            return result;
        }
    }
  • 相关阅读:
    数据结构之线段树
    数据结构之线段树
    数据结构之树状数组
    codevs1073 家族
    codevs1069 关押罪犯
    codevs1001 舒适的路线
    codevs1282 约瑟夫问题
    codevs1081 线段树练习 2
    codevs1225 八数码难题
    codevs1080 线段树练习
  • 原文地址:https://www.cnblogs.com/jasminemzy/p/7844333.html
Copyright © 2011-2022 走看看