Advertisement
HXXXXJ

244. Shortest Word Distance II

Jan 30th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.67 KB | None | 0 0
  1.     var map : [String:[Int]]
  2.     init(_ words: [String]) {
  3.         map = [String:[Int]]() // word , index array
  4.         for (index, w) in words.enumerated() {
  5.             map[w, default:[Int]()].append(index)
  6.         }
  7.     }
  8.    
  9.     func shortest(_ word1: String, _ word2: String) -> Int {
  10.         let l1 = map[word1]!
  11.         let l2 = map[word2]!
  12.         var res = Int.max
  13.         var p1 = 0
  14.         var p2 = 0
  15.         while p1 < l1.count && p2 < l2.count {
  16.             res = min(res, abs(l1[p1] - l2[p2]))
  17.             if l1[p1] < l2[p2] {
  18.                 p1 += 1
  19.             }else{
  20.                 p2 += 1
  21.             }
  22.         }
  23.         return res
  24.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement