剑指Offer53Java代码

2023-10-31

public class T53 {

public static boolean match(String str, String pattern) {

        if (str == null || pattern == null) {

            return false;

        }

        return matchCore(str,pattern,0, 0);

    }

private static boolean matchCore(String str,String pattern,int i,int j){

if(i>=str.length() && j>=pattern.length())

return true;

if(i!=str.length() && j>=pattern.length())

return false;

if(j+1<pattern.length() && pattern.charAt(j+1)=='*'){

if(i>=str.length())//匹配完,但是模版还没走完呢

matchCore(str,pattern,i,j+2);

else{//还没匹配完

if(str.charAt(i)==pattern.charAt(j) || pattern.charAt(j)=='.')

return matchCore(str,pattern,i+1,j+2)//abc a*bc

||matchCore(str,pattern,i+1,j)//caaa ca*

||matchCore(str,pattern,i,j+2);//ba  ba*a

else

return matchCore(str,pattern,i,j+2);//bc&ba*c

}

}

if(i>=str.length())

return false;

else{

if(str.charAt(i)==pattern.charAt(j) || pattern.charAt(j)=='.')

return matchCore(str,pattern,i+1,j+1);

}

return false;

}

       

public  static void main(String args[]){

System.out.println(match("aaa", "ab*c*a*a"));

}


}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指Offer53Java代码 的相关文章

随机推荐

  • faker.js 创建者希望 GitHub 恢复他的权利;微软公布 VS Code 2022 年路线图;Java 18 的新特性

    整理 宋彤彤 责编 屠敏 开源吞噬世界的趋势下 借助开源软件 基于开源协议 任何人都可以得到项目的源代码 加以学习 修改 甚至是重新分发 关注 开源日报 一文速览国内外今日的开源大事件吧 一分钟速览新闻点 faker js 创建者希望 Gi
  • Linux定时服务

    目录 1 定时器操作 2 cron表达式的语法规则 参考链接 1 定时器操作 sudo crontab e 选择2 进入进行配置 需要按下 i sh home xx crontabsh test sh的意思是 让sh解释器调用test sh
  • cannot import name ‘mean_squared_erro‘ from ‘sklearn.metrics‘

    sklearn中模块包的导入报错 根据其他博主的意见 sklearn更新的版本中有很多包调整了层次结构 以至于我们在跑代码的时候会出现导入包错误 这时候我们需要做的就是打开sklearn的官网 https scikit learn org
  • 【华为OD机试真题2023B卷 JAVA&JS】增强的strstr

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 增强的strstr 知识点字符串 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 C 语言有一个库函数 char strstr const char haystack
  • 聚观早报

    今日要闻 滴滴被处罚 80 26 亿元罚款 百度发布第六代量产无人车Apollo RT6 特斯拉出售比特币资产 套现近10亿美元 字节跳动估值跌破3000亿美元 哪吒汽车完成超 30 亿元 D3 轮融资 滴滴被处罚 80 26 亿元罚款 据
  • 时序预测

    时序预测 MATLAB实现CNN 卷积神经网络 时间序列预测 预测效果一览 以下介绍程序设计过程 加载数据与数据集划分 常用load载入 mat文件 划分数据集 计算数据长度
  • 在window10 WSL 中编译 OpenJDK13

    简介 最新的OpenJDK13已经发布到git上 可以git pull 然后编译了 这里介绍了直接在windows 10 的WSL环境中进行build并测试 准备 在Open JDK13的网站文档中说 很简单的几步操作就好 下载源码 hg
  • 破局之作:首部开源 AIGC 软件工程应用电子书《构筑大语言模型应用:应用开发与架构设计》...

    TL DR 版 在线 https aigc phodal com 下载 1 https github com phodal aigc releases 下载 2 https pan baidu com s 1wGc75vVHaZwvZyHe
  • 数据结构与算法绪论

    什么是数据结构 明白以下两点即可领悟 程序设计 数据结构 算法 数据结构就是一种 数据元素 间一种或多种特定关系的表征 数据结构的分类 分为 逻辑结构 和 物理结构 逻辑结构 是指 数据元素 间相互关系 物理结构 是指 数据的逻辑结构 在计
  • elsevier中elsarticle模板如何使用apa引用格式

    我们知道latex的默认引用 cite 是长这样的 那elsevier下面的很多期刊要求我们使用apa 美国心理学会 的引用格式 其是长这样的 方法 这个问题折磨我好久 网上说使用 usepackage apacite 包 可是我一在els
  • 「深度小课堂」虚拟化技术入门科普

    云计算已经成为了服务器端的潮流 通过它 我们可以有效支持弹性计算 隔离兼容等一系列的需求 计算力可以像水电一样为人们所使用 而虚拟化技术正是云计算中最重要的技术 虚拟化技术一般可以被分为两类 分别是虚拟机 VM Virtual Machin
  • sklearn的DecisionTreeClassifier的参数random_state

    刚刚使用SKLearn学习机器学习进行数据分析 分享一些概念和想法 希望可以大家一起讨论 如果理解或者表达有不准确的地方 请多多指点 不吝赐教 非常感谢 本文将继续介绍sklearn的决策树模块的其他参数 涉及到的理论知识 请转至上篇 决策
  • stm32f407zgt6的pdr_on引脚怎么接

    原文链接 https www amobbs com thread 5495105 1 1 html dsign c6460fe9 407的100脚封装没有这个PDR ON 就是VSS 在引脚分布图中为pdr on 但实际量pdr on对VS
  • 【计算机毕业设计】深度学习的驾驶行为检测

    前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度的 对本科同学来说是充满挑战 为帮助大
  • 某行业CTF一道流量分析题

    今晚看了一道题 记录学习下 给了一个hacktrace pcapng 分析主要内容如下 上传两个文件 一个mouse m2s 一个mimi zip 将其导出 mimi zip中存放着secret zip和key pcapng 不过解压需要密
  • EFilm 3.1 安装文件

    国外网站上找到的 拿出来分享下 第一部分 http download csdn net detail crazpro 9696368 第二部分 http download csdn net detail crazpro 9696402 第三
  • Java:Scanner中的nextInt()方法

    文章目录 方法 验证 方法 Scanner中的nextInt 只会读取数值 剩下 n 还没有读取 并将cursor放在本行中 相当于C语言里面的scanf d i 验证 为方便描述 创建一个Scanner 对象in 注 标准输入System
  • axios的三次封装

    1 第一次封装 把项目中所有请求做的相同的事情 baseURL timeout 请求 响应式 成功或失败的提示 封装到一个文件夹里 这个文件夹通常叫做utils axios封装 通用工具函数 引入axios import axios fro
  • jdk1.8的安装和环境变量的配置最新版(超详细,保姆级教程)

    目录 一 JDK的下载和安装 1 JDK的下载 1 方式一 通过下面的链接地址直接下载jdk1 8版本 2 方式二 通过Oracle官网进行下载 2 jdk的安装 二 环境变量的配置 1 通过jdk路径配置环境变量 2 通过JAVA HOM
  • 剑指Offer53Java代码

    public class T53 public static boolean match String str String pattern if str null pattern null return false return matc