美文网首页
剑指 Offer II 034. 外星语言是否排序

剑指 Offer II 034. 外星语言是否排序

作者: 邦_ | 来源:发表于2022-06-08 11:36 被阅读0次

题目属实看不懂。。 鬼东西
大致就是order决定了大小规律
然后判断单词数组离的多个字符串的大小是否是按照升序排列
如果第一个字符就小于后边字符串的第一个字符 那么第一个字符串小于第二个字符串
如果相等的话 继续往后比较
如果第一个字符大于后边字符串的第一个字符 那么第一个字符串大于第二个字符串 返回false


func isAlienSorted(_ words: [String], _ order: String) -> Bool {

         var dict = Dictionary<Character,Int>()
         let orderArray = Array(order)
        for i in 0..<orderArray.count {
            
            dict[orderArray[i]] = i
        }
        
        for i in 0..<words.count - 1 {
            
            let word1 = Array(words[i])
            let word2 = Array(words[i + 1])
            let m = word1.count
            let n = word2.count
            for j in 0..<max(m, n) {
                
                let value1 = j < m ? (dict[word1[j]] ?? 0): -1
                let value2 = j < n ? (dict[word2[j]] ?? 0): -1
                if value1 < value2 {
                    break
                }
                if value1 > value2 {
                    return false
                }
            }
        }
        
        
    
        return true
    
    }




相关文章

网友评论

      本文标题:剑指 Offer II 034. 外星语言是否排序

      本文链接:https://www.haomeiwen.com/subject/ukysertx.html