题解 | #正则表达式匹配#

正则表达式匹配

https://www.nowcoder.com/practice/28970c15befb4ff3a264189087b99ad4

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @param pattern string字符串 
 * @return bool布尔型
*/
func match(str string ,pattern string ) bool {
    // write code here

    n := len(str)
    m := len(pattern)
    dp := make([][]int, n+1)
    for i:=0;i<n+1;i++{
        dp[i] = make([]int, m+1)
        for j:=0;j<m+1;j++{
            dp[i][j] = 0
        }
    }
    dp[0][0] = 1

    var match_sub func(i, j int) bool
    match_sub = func(i, j int) bool {
        if i==0 {
            return false
        }
        if pattern[j-1] == '.' {
            return true
        }
        return str[i-1] == pattern[j-1]
    }

    for i:=0;i<n+1;i++{
        for j:=1;j<m+1;j++{

            if pattern[j-1] == '*' {
                dp[i][j] |= dp[i][j-2]

                if match_sub(i, j-1){
                    dp[i][j] |= dp[i-1][j]
                }

            }else{
                if match_sub(i, j) {
                    dp[i][j] |= dp[i-1][j-1]
                }
            }
        }
    }
    return dp[n][m]==1
}

全部评论

相关推荐

有没有什么神仙小厂啊!想去,感觉对大厂去魅了
野猪不是猪🐗:小厂最大的问题就是,你不知道哪天公司就直接🈚️了。大厂被裁,拿着大厂履历也不难再找,小厂寄了那后面有没有人要你就不好说了
点赞 评论 收藏
分享
01-02 16:50
门头沟学院 Java
不放弃的小鱼干很洒脱:比kpi面面完了也不发感谢信全靠自己猜的好多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务