zoukankan      html  css  js  c++  java
  • leetcode刷题笔记290题 单词规律

    leetcode刷题笔记290题 单词规律

    源地址:290. 单词规律

    问题描述:

    给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

    这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

    示例1:

    输入: pattern = "abba", str = "dog cat cat dog"
    输出: true
    示例 2:

    输入:pattern = "abba", str = "dog cat cat fish"
    输出: false
    示例 3:

    输入: pattern = "aaaa", str = "dog cat cat dog"
    输出: false
    示例 4:

    输入: pattern = "abba", str = "dog dog dog dog"
    输出: false
    说明:
    你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。

    //利用map解决映射问题
    //1.全映射 AB两个集大小相同
    //2.单射 即A中元素必有且仅有一个B元素与之对应,转化为编程逻辑,即A中元素对应B中元素一一对应。通过检查两个映射实现。
    import scala.collection.mutable
    object Solution {
        def wordPattern(pattern: String, s: String): Boolean = {
            val str = s.split(" ")
            if (pattern.length != str.length) return false
    
            val ps = mutable.HashMap[Char, String]()
            val sp = mutable.HashMap[String, Char]()
    
            for (i <- 0 to pattern.length-1) {
                val p = pattern(i)
                val w = str(i)
                println("p: " + p)
                println("w: " + w)
                if (ps.contains(p) == true && ps(p) != w) return false
                ps(p) = w
                if (sp.contains(w) == true && sp(w) != p) return false
                sp(w) = p
            }
    
            return true
        }
    }
    
  • 相关阅读:
    颜色渐变
    DELPHI 反射机制
    网络的收藏资料
    WM_Paint 消息详解
    解决EmbeddedWB弹出页面错误框的问题
    刁蛮公主第二集(纳米盘)
    第五章 用用户控件创建自定义控件
    RTX51 tiny系统要注意的问题:(关于时间片)
    第四章 高级控件编程
    CSDN新频道visual studio技术频道
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13993537.html
Copyright © 2011-2022 走看看