当前位置: 首页 > news >正文

6-3 模式匹配

description

给出主串s和模式串t,其长度均不超过1000。本题要求实现一个函数BF(string s, string t),求出模式串t在主串s中第一次出现的位置(从0开始计算),如果在s中找不到t,则输出-1。

函数接口定义:
/* s为主串,t为模式串。

  • 函数返回t在s中第一次出现的位置。
    */
    int BF(string s, string t);
    其中 s 和 t 分别为主串和模式串,长度均不超过1000。函数返回模式串t在主串s中第一次出现的位置(从0开始计算),如果在s中找不到t,则输出-1。

裁判测试程序样例:

#include <bits/stdc++.h>
using namespace std;/* s为主串,t为模式串。* 函数返回t在s中第一次出现的位置。*/
int BF(string s, string t);int main(int argc, char const *argv[])
{string s, t;getline(cin, s);    //输入主串getline(cin, t);    //输入模式串int pos = BF(s, t);    //搜索cout << pos << endl;//输出模式串在主串中第一次出现的位置return 0;
}/* 请在这里填写答案 */

输入样例1:

This is a test string
is

输出样例1:

2

输入样例2:

This is a test string
The

输出样例2:

-1

solution

int BF(string s, string t){for(int i = 0; i < s.length(); i++){int temp = i, j = 0;while(s[temp] == t[j] && j < t.length() && temp < s.length()){temp++;j++;}if(j == t.length()) return i;}return -1;
}

相关文章:

6-3 模式匹配

description 给出主串s和模式串t&#xff0c;其长度均不超过1000。本题要求实现一个函数BF(string s, string t)&#xff0c;求出模式串t在主串s中第一次出现的位置&#xff08;从0开始计算&#xff09;&#xff0c;如果在s中找不到t&#xff0c;则输出-1。 函数接口定义&…...

SQL JOIN 时 USING 和 ON 的异同

在数据表做 join 时&#xff0c;即可以用 using&#xff0c;也可以用 on。有什么异同点呢。 ON 是更加普遍的用法&#xff0c;可以连接表 On 一个字段&#xff0c;多个字段&#xff0c;甚至一个条件表达式。举例 SELECT * FROM world.City JOIN world.Country ON (City.Cou…...

安全学习_开发相关_JNDI介绍(注入)RMILDAP服务

文章目录 参考&本节目的JNDI概念-RMI&LDAP服务调用检索&#xff1a;在RMI服务中调用了InitialContext.lookup()的常用类有&#xff1a;在LDAP服务中调用了InitialContext.lookup()的常用类有&#xff1a; JNDI注入-使用工具生成远程调用JNDI远程调用-工具&#xff08;j…...

C#学生选课及成绩查询系统

一、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分&#xff0c;传统的人工管理档案的方式存在着很多的缺点&#xff0c;如&#xff1a;效率低、保密性差等&#xff0c;所以开发一套综合教务系统管理软件很有必要&#xff0c;它应该具有传统的手工管理所无法比拟的…...

【C语言】利用数组处理批量数据(一维数组和二维数组)

前言:在前面学习的程序中使用的变量都属于基本类型&#xff0c;例如整型、字符型、浮点型数据&#xff0c;这些都是简单的数据类型。对于简单的问题&#xff0c;使用这些简单的数据类型就可以了。但是对于有些需要处理的数据&#xff0c;只用以上简单的数据类型是不够的&#x…...

WPF中, 如何将控件的触发事件绑定到ViewModel

在DataGrid 等控件中, 有很多这种带闪电符号的触发事件. 如果用传统的事件驱动, 则直接在后台中建立 一个private PropertyChanged(Sender s, EventAgars Args) 即可. 但是如果需要绑定到ViewModel的话? 应该怎么做? 带闪电符号的触发事件 实现viewModel绑定前端触发事件的…...

解决Qt msvc编译器 中文显示乱码问题

第一步&#xff1a;代码文件选择用utf8编码带bom。第二步&#xff1a;在有中文汉字的代码文件顶部加一行&#xff08;一般是cpp文件&#xff09; #pragma execution_character_set(“utf-8”) 可以考虑放在head.h中&#xff0c;然后需要的地方就引入head头文件就行&#xff0c;…...

JAVA面经整理(7)

一)什么是AQS&#xff1f; 1)AQS也被称之为是抽象同步队列&#xff0c;它是JUC包底下的多个组件的底层实现&#xff0c;Lock&#xff0c;CountDownLatch和Semphore底层都使用到了AQS AQS的核心思想就是给予一个等待队列和同步状态来实现的&#xff0c;它的内部使用一个先进先出…...

CentOS7使用技巧

1、防火墙相关 关闭防火墙 systemctl stop firewalld 关闭防火墙开机自启 systemctl disable firewalld.service 查看防火墙状态 systemctl status firewalld...

Nature Machine Intelligence | “化学元素知识+功能提示”双驱动,探索分子预测新方法

论文题目&#xff1a;Knowledge graph-enhanced molecular contrastive learning with functional prompt 论文链接&#xff1a;https://doi.org/10.1038/s42256-023-00654-0 项目地址&#xff1a;GitHub - HICAI-ZJU/KANO: Code and data for the Nature Machine Intelligence…...

CppCheck静态代码检查工具教程【Windows和Linux端】

目录 1、背景 2、特性介绍 2.1、检查结果 2.2、检查范围 2.3、支持的检查规则&#xff08;列举一些&#xff09;: 2.4、自定义规则 3、linux 端 4、windows 端 1、背景 最近调研了几款 c/c 代码静态检查工具&#xff0c;包括 cppcheck、cpplint、cppdepend、splint、ts…...

W25Q128芯片手册精读

文章目录 前言1. 概述2. 特性3. 封装类型和引脚配置3.1 8焊盘WSON 8x6 mm3.2其他封装 4. 引脚描述4.1 片选4.2 串行数据输入输出4.3 写保护4.4 保持脚4.5 时钟 5. 块图6. 功能描述6.1 SPI功能6.1.1 标准SPI6.1.2 双通道SPI6.1.3 四通道SPI6.1.4 保持功能 6.2 写保护6.2.1 写保护…...

QT商业播放器

QT商业播放器 总体架构图 架构优点&#xff1a;解耦&#xff0c;采用生产者消费者设计模式&#xff0c;各个线程各司其职&#xff0c;通过消息队列高效协作 这个项目是一个基于ijkplayer和ffplayer.c的QT商业播放器, 项目有5部分构成&#xff1a; 前端QT用户界面 后端是集成了…...

Python的函数

近期遇到了一个没怎么看懂的Python函数的形式。 def twoSum(self, nums: List[int], target: int) -> List[int]: 后来上网查了资料。...

【物联网】STM32的中断机制不清楚?看这篇文章就足够了

在嵌入式系统中&#xff0c;中断是一种重要的机制&#xff0c;用于处理来自外部设备的异步事件。STM32系列微控制器提供了强大的中断控制器&#xff0c;可以方便地处理各种外部中断和内部中断。本文将详细介绍STM32中断的结构和使用方法。 文章目录 1. 什么叫中断2. 中断优先级…...

深入剖析红黑树:优雅地平衡二叉搜索树

目录 一.红黑树的概念二.插入操作三.与AVL树的比较 一.红黑树的概念 在之前的学习中&#xff0c;我们了解了二叉搜索平衡树&#xff0c;AVL树通过控制每个结点中的平衡因子的绝对值不超过1&#xff0c;实现了一个高性能的树。而相较于AVL的高度平衡&#xff0c;红黑树觉得AVL为…...

C10K问题:高并发模型设计

一、循环服务器模型 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <signal.h> #include <sys/types.h> #include <sys/socket.h> //*******// #include &l…...

哈希/散列--哈希表[思想到结构][==修订版==]

文章目录 1.何为哈希?1.1百度搜索1.2自身理解1.3哈希方法/散列方法1.4哈希冲突/哈希碰撞1.5如何解决?哈希函数的设计 2.闭散列和开散列2.1闭散列/开放定址法2.2开散列/链地址法/开链法1.概念2.容量问题3.字符串问题4.开散列性能测试5.开散列与闭散列比较 3.代码实现[配备详细…...

成都建筑模板批发市场在哪?

成都作为中国西南地区的重要城市&#xff0c;建筑业蓬勃发展&#xff0c;建筑模板作为建筑施工的重要材料之一&#xff0c;在成都也有着广泛的需求。如果您正在寻找成都的建筑模板批发市场&#xff0c;广西贵港市能强优品木业有限公司是一家值得关注的供应商。广西贵港市能强优…...

亨元模式 结构型模式之六

1.定义 享元模式是一种结构型设计模式&#xff0c; 它允许你在消耗少量内存的情况下支持大量对象。 2.滑滑梯问题 在说明亨元模式之前&#xff0c;我们先看看关于滑滑梯的程序设计。小区的楼下只有三个滑滑梯&#xff0c;但是想玩的小朋友却非常多。怎么设计计滑滑梯资源的管理…...

nli-distilroberta-baseAI应用:心理健康聊天机器人对话逻辑连贯性监测

NLI DistilRoBERTa Base AI应用&#xff1a;心理健康聊天机器人对话逻辑连贯性监测 1. 项目概述 心理健康聊天机器人正成为越来越多人寻求心理支持的重要工具。然而&#xff0c;这类对话系统面临一个关键挑战&#xff1a;如何确保对话内容的逻辑连贯性&#xff1f;这正是nli-…...

智能视觉自动化革命:Midscene如何让AI成为你的界面操作员

智能视觉自动化革命&#xff1a;Midscene如何让AI成为你的界面操作员 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否曾幻想过用自然语言就能控制浏览器、手机应用甚至桌面软件&#x…...

软电话通话30秒自动挂断?一文讲透FreeSWITCH通话超时问题

当你满怀期待地搭建好FreeSWITCH&#xff0c;用两个软电话成功呼叫&#xff0c;却发现通话总是在30秒左右莫名其妙地中断——别急&#xff0c;这是SIP新手最常遇到的“经典Bug”。本文将为你抽丝剥茧&#xff0c;彻底解决这个问题&#xff0c;并附带其他可能引发通话异常中断的…...

终极指南:如何用 YahooFinanceApi 快速获取免费金融数据

终极指南&#xff1a;如何用 YahooFinanceApi 快速获取免费金融数据 【免费下载链接】YahooFinanceApi A handy Yahoo! Finance api wrapper, based on .NET Standard 2.0 项目地址: https://gitcode.com/gh_mirrors/ya/YahooFinanceApi 你是否正在寻找一个简单、免费且…...

避坑指南:Unity物体闪烁效果Material内存泄漏问题排查(附Shader优化方案)

Unity物体闪烁效果的性能陷阱与工业级解决方案 在游戏开发中&#xff0c;物体闪烁效果是一种常见的视觉反馈手段&#xff0c;用于提示玩家可交互对象、危险区域或特殊状态。然而&#xff0c;许多开发者在使用传统实现方式时&#xff0c;往往会掉入Material内存泄漏的陷阱&#…...

如何在3个步骤内完成Logisim-Evolution数字电路设计工具的安装配置

如何在3个步骤内完成Logisim-Evolution数字电路设计工具的安装配置 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution Logisim-Evolution是一款功能强大的数字逻辑电路设计和…...

深入解析iOS中CUICatalog: Invalid asset name警告的解决方案与优化实践

1. 理解CUICatalog: Invalid asset name警告的本质 当你正在调试iOS应用时&#xff0c;突然在控制台看到一堆[framework] CUICatalog: Invalid asset name supplied: 的警告信息&#xff0c;这感觉就像开车时仪表盘突然亮起故障灯。作为开发者&#xff0c;我们首先需要理解这个…...

质子交换膜燃料电池三维模型创建与流场仿真教程

质子交换膜燃料电池三维模型创建和fluent流场仿真教程。 单电池&#xff0c;单电池带冷却水通道&#xff0c;电堆&#xff0c;电堆带冷却通道三维流场仿真&#xff0c;后处理压力分布&#xff0c;温度分布&#xff0c;流线轨迹&#xff0c;氢气氧气浓度分布等。质子交换膜燃料电…...

【脚本篇】---vim下verilog-mode-v2的高效开发实践

1. 为什么选择vimverilog-mode-v2组合 第一次接触Verilog代码时&#xff0c;我用的是各种图形化IDE&#xff0c;直到有次在服务器上紧急修改代码才发现&#xff1a;原来vim配合verilog-mode插件可以这么高效。这个组合就像瑞士军刀里的主刀——看起来朴实无华&#xff0c;但能解…...

当分包时,主包里有未被引用的文件,小程序预览【代码质量】显示包体积过大,不影响发布

1.项目加入分包后预览时显示主包体积超出&#xff1f;排查分包没问题&#xff0c;外部库方法也不会占很多空间2.代码依赖分析【显示 - 主包体积正常】主包实际体积&#xff08;768KB&#xff09;明明远小于 2MB 上限&#xff0c;但工具却提示「主包尺寸应小于 1.5M」且未通过。…...