Golang | Leetcode Golang题解之第44题通配符匹配

题目:

题解:

func isMatch(s string, p string) bool {for len(s) > 0 && len(p) > 0 && p[len(p)-1] != '*' {if charMatch(s[len(s)-1], p[len(p)-1]) {s = s[:len(s)-1]p = p[:len(p)-1]} else {return false}}if len(p) == 0 {return len(s) == 0}sIndex, pIndex := 0, 0sRecord, pRecord := -1, -1for sIndex < len(s) && pRecord < len(p) {if p[pIndex] == '*' {pIndex++sRecord, pRecord = sIndex, pIndex} else if charMatch(s[sIndex], p[pIndex]) {sIndex++pIndex++} else if sRecord != -1 && sRecord + 1 < len(s) {sRecord++sIndex, pIndex = sRecord, pRecord} else {return false}}return allStars(p, pIndex, len(p))
}func allStars(str string, left, right int) bool {for i := left; i < right; i++ {if str[i] != '*' {return false}}return true
}func charMatch(u, v byte) bool {return u == v || v == '?'
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python基础:【习题系列】面向对象

在Python中,用于定义类的关键字是什么?( B ) A.classs B.class C.Class D.type 答案:B 难易程度:易 答案解析:在Python中,定义类需要使用关键字class。 知识点:类定义;Python关键字 在Python中,以下哪个关键字用于在类中引用同一类的其他方法或属性?( C ) A.…

C#使用ftp进行文件上传和下载功能(二)

上一篇主要讲解FTP服务器的搭建&#xff0c;本节话不多说直接撸码&#xff1a; 1.首先ftp需要有ip和port&#xff0c;以及登录用户等信息&#xff0c;因此创建三个属性&#xff1b; /// <summary> /// FTP的服务器地址&#xff0c;格式为ftp://192.168.1.234:80…

输入influx但是无法进入influxdb

问题描述&#xff1a; 博主想通过DockerJmeterInfluxDBGrafana搭建性能测试可视化平台&#xff0c;但是按照别的教程输入influx却无法进入inluxdb&#xff0c;输入输出如下&#xff1a; NAME:influx - Influx ClientUSAGE:influx [command]HINT: If you are looking for the I…

Linux下的进程管理:创建、终止、切换与等待

文章目录 一、引言二、进程创建1、进程创建的概念与场景2、进程创建的方式a、fork() 系统调用b、fork() 后的执行流程 3、进程创建的过程a、进程创建过程b、子进程创建过程 4、父子进程关系与属性继承 三、进程终止1、进程终止的原因2、进程的错误码和退出码a、错误码b、退出码…

LeetCode:51. N 皇后

leetCode51.N皇后 题解分析 代码 class Solution { public:int n;vector<vector<string>> ans;vector<string> path;vector<bool> col, dg,udg;vector<vector<string>> solveNQueens(int _n) {n _n;col vector<bool> (n);dg …

《QT实用小工具·四十二》圆形发光图像

1、概述 源码放在文章末尾 该项目实现了图像的发光效果&#xff0c;特别适合做头像&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; import QtQuick 2.7 import QtGraphicalEffects 1.12Item {id: rootwidth: 80height: 80property int ra…

浓眉大眼的Apple开源OpenELM模型;IDM-VTON试衣抱抱脸免费使用;先进的语音技术,能够轻松克隆任何人的声音

✨ 1: openelm OpenELM是苹果机器学习研究团队发布的高效开源语言模型家族 OpenELM是苹果机器学习研究团队开发的一种高效的语言模型&#xff0c;旨在推动开放研究、确保结果的可信赖性、允许对数据和模型偏见以及潜在风险进行调查。其特色在于采用了一种分层缩放策略&#x…

spring基本使用

文章目录 1. ioc(Inversion of Control) | DI(Dependency Injection)(1) maven坐标导包(2) 编写配置文件bean.xml(3) 配置bean(4) 配置文件注入属性 2. DI(dependency injection) 依赖注入(setter)其他属性(1) 对象属性注入(2) 数组属性输入(3) 集合属性注入(4) map集合注入(5)…

python将灰度图像转换为RGB图像

将灰度图像转换为RGB图像意味着你需要为每个像素创建三个颜色通道&#xff08;红、绿、蓝&#xff09;&#xff0c;通常是以某种方式复制或扩展灰度值到这三个通道。在深度学习中&#xff0c;这种转换并不常见&#xff0c;因为这样做不会引入任何新的信息到模型中。但是&#x…

如何提交已暂存的更改到本地仓库?

文章目录 如何提交已暂存的更改到本地Git仓库&#xff1f;步骤1&#xff1a;确认并暂存更改步骤2&#xff1a;提交暂存的更改到本地仓库 如何提交已暂存的更改到本地Git仓库&#xff1f; 在Git版本控制系统中&#xff0c;当你对项目文件进行修改后&#xff0c;首先需要将这些更…

使用项目管理软件有效控制项目质量

项目管理中的质量控制&#xff0c;是指团队实施策略以确保可交付成果或产品满足最终用户要求。质量控制是项目管理计划的一个要素&#xff0c;这是一个迭代过程&#xff0c;可以节省时间和资源&#xff0c;同时产生高质量的产品和服务。 质量控制的四种类型 这四种类型的质量…

TCP协议数据传输过程及报文分析

目录 TCP数据的传输过程 建立连接&#xff08;三次握手&#xff09; 第一次握手 第二次握手 第三次握手 总结 数据传输 断开连接&#xff08;四次挥手&#xff09; 第一次挥手 第二次挥手 第三次挥手 第四次挥手 总结 最后 TCP数据的传输过程 TCP&#xff08;Tra…

SL3043耐压120V降压恒压 降48V 降24V 降12V 降5V 大电流10V芯片

SL3043是一款外驱MOSFET管可设定输出电流的降压型开关稳压器&#xff0c;具有以下特点&#xff1a; 1. 宽工作电压范围&#xff1a;SL3043可以在10V至120V的宽输入电压范围内工作&#xff0c;这使得它适用于多种不同的电源环境。 2. 大输出电流&#xff1a;该芯片能够提供最大…

五年Python从业者,谈谈Python的一些优缺点

前言 Python它是作为年轻的血液&#xff0c;融入到编程语言这个大家庭里面&#xff0c;作为具有年轻人的蓬勃朝气的python&#xff0c;那它同时就会有年轻人的桀骜焦躁。 今天就来谈谈Python的一些优缺点。 先从优点说起&#xff0c;我是把它分为5部分。 1.简单————Pyth…

【Jenkins】Jenkins nohup执行失败

在使用Jenkins进行构建过程中&#xff0c;对于脚本中的nohup命令没有响应。 问题描述 当使用Jenkins调用脚本时&#xff0c;脚本中其它命令比如mv/cp等命令均可以正常执行&#xff0c;但是nohup命令没有任何响应&#xff0c;对于同样的脚本&#xff0c;在Linux本地使用root账号…

Win11和WinRAR取消折叠菜单恢复经典菜单

这里写目录标题 前言1. Win11恢复经典右键菜单1.1 修改前1.2 恢复成经典右键菜单1.3 修改后1.4 想恢复怎么办&#xff1f; 2. WinRAR取消折叠菜单恢复经典菜单2.1 修改前2.2 修改恢复为经典菜单2.3 修改后2.4 想恢复怎么办&#xff1f; 前言 最近换回了Windows电脑&#xff0c…

大模型微调之 使用 LLaMA-Factory 微调 Llama3

大模型微调之 使用 LLaMA-Factory 微调 Llama3 使用 LLaMA Factory 微调 Llama-3 中文对话模型 安装 LLaMA Factory 依赖 %cd /content/ %rm -rf LLaMA-Factory !git clone https://github.com/hiyouga/LLaMA-Factory.git %cd LLaMA-Factory %ls !pip install "unsloth…

在Spring Boot应用中实现阿里云短信功能的整合

1.程序员必备程序网站 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 2.导入坐标 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.0</version></dependency><…

pcba方案开发——智能血氧仪解决方案研发设计

智能血氧仪芯片是一种集成化的电子元件&#xff0c;主要用于测量人体血氧浓度。目前市场上的血氧仪芯片具有以下特点&#xff1a; 1.高精度&#xff1a;血氧仪芯片采用专业的光学传感器&#xff0c;能够精确地测量人体血氧浓度。 2.低功耗&#xff1a;血氧仪芯片通过优化电路设…

Redis面试题二(数据存储)

目录 1.redis 的数据过期策略 1. 惰性删除&#xff08;Lazy Expiration&#xff09; 2. 定期删除&#xff08;Periodic Expiration&#xff09; 3. 定时删除&#xff08;Timing-Based Expiration&#xff09; 实际应用中的组合策略 2.redis 有哪些内存淘汰机制 volatile&…