Leetcode - Candy Crush
Leetcode - Single Number

Leetcode - Shortest Word Distance

violet posted @ Apr 02, 2020 02:45:25 AM in 算法 with tags Algorithm Golang array , 204 阅读

https://leetcode.com/problems/shortest-word-distance/

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

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

Input: word1 = "coding", word2 = "practice"
Output: 3
Input: word1 = "makes", word2 = "coding"
Output: 1

 

func shortestDistance(words []string, word1 string, word2 string) int {
    if word1 == word2 {
        return -1
    }
    w1 := -1
    w2 := -1
    result := math.MaxInt32
    for i, w := range words {
        if w == word1 {
            w1 = i
        }
        if w == word2 {
            w2 = i
        }
        if w1 >= 0 && w2 >= 0 {
            tmp := abs(w1 - w2)
            result = min(tmp, result)
        }
    }
    return min(result, abs(w1-w2))
}

func abs(a int) int {
    if a < 0 {
        return 0 - a
    }
    return a
}

func min(a, b int) int {
    if a < b {
        return a
    }
    
    return b
}
mon activité google 说:
Jul 13, 2023 01:07:37 AM

Vous pouvez supprimer des résultats d’historique de recherche individuels de la liste instantanée de la page de recherche Google ainsi que Mon activité Google sur tous les produits de Google sur activity.google.com/myactivity. mon activité google Il est essentiel de sécuriser notre historique de recherche et d’autres activités des autres pour des raisons personnelles.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter