字符串匹配

字符串匹配之暴力匹配 字符串匹配之暴力匹配 字符串匹配就是在一个字符串集里面找到某个模式串出现的所有位置。 例如,找出模式P=abaaP=abaaP=abaa在文本T=abcabaabcabacT=abcabaabcabacT=abcabaabcabac中的位置,用mmm和nnn分别表示PPP和TTT的长度,SSS表示当字符串匹配时的有效偏移。 暴力匹配的方法是通过循环,找出所有的有效偏移SSS,该循环对每一... 阅读详情

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入格式
  输入的第一行包含一个字符串S,由大小写英文字母组成。
  第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
  第三行包含一个整数n,表示给出的文字的行数。
  接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。
输出格式
  输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串S的行。
样例输入
Hello
1
5
HelloWorld
HiHiHelloHiHi
GrepIsAGreatTool
HELLO
HELLOisNOTHello
样例输出
HelloWorld
HiHiHelloHiHi
HELLOisNOTHello
样例说明

  在上面的样例中,第四个字符串虽然也是Hello,但是大小写不正确。如果将输入的第二行改为0,则第四个字符串应该输出。
评测用例规模与约定
1<=n<=100,每个字符串的长度不超过100。

import java.util.Scanner;
import java.util.ArrayList;

public class Main {
	
  static ArrayList<String> list=new ArrayList<String>();
  
  public static void main(String[] args) {
	  Scanner sc=new Scanner(System.in);
	  String target=sc.nextLine();
	  String target_a=target.toLowerCase();
	  
	  int flag=sc.nextInt();
	  int n=sc.nextInt();
	  
	  for(int i=0;i<n;i++) {
		  String s=sc.next();

		  if(flag==1) {
			  if(s.contains(target)) {
				  list.add(s);
			  }
		  }
		  else{
			  String ss=s.toLowerCase();
			  
			  if(ss.contains(target_a)) {
				  list.add(s);
			  }
		  }
	  }
	  
	  for(int i=0;i<list.size();i++) {
		  System.out.println(list.get(i));
	  }
	  
  }
}
DAC60501与STM32的I2C通信实战:从寄存器配置到电压输出 本文详细介绍了如何使用STM32通过I2C通信驱动DAC60501数模转换器,实现精确的模拟电压输出。内容涵盖从硬件连接到软件模拟I2C驱动编写,再到DAC寄存器配置与电压计算的全流程实战指南,并提供了关键的驱动实例代码和常见问题调试技巧,帮助开发者快速掌握这一嵌入式开发中的实用技能。 阅读详情

相关推荐

CDH Hue连接Hbase报错TSocket read 0 bytes

问题描述 安装好CDH集群后,在Hue中查看HBase信息时,Hue界面报错如下: Api 错误:TSocket read 0 bytes Hue日志报错: exceptions_renderable ERROR Potential trace: [('/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hue/apps/hbase/src/hbase/api.py', 46, 'query', 'return getattr(self

邢为栋 3493

字符串匹配算法

一、简介 文本信息可以说是迄今为止最主要的一种信息交换手段,而作为文本处理中的一个重要领域——字符串匹配,就是我们今天要说的话题。(原文还特意提及文本数据数量每18个月翻一番,以此论证算法必须要是高效的。不过我注意到摩尔定律也是18个月翻番,这正说明数据的增长是紧紧跟随处理速度的,因此越是使用高效的算法,将来待处理的数据就会越多。这也提示屏幕前的各位,代码不要写得太快了……)   字符串匹配...

weixin_33857230的博客 238

自托管AI邮件助手imap-mcp:安全连接Claude与个人邮箱的完整指南

在AI助手日益普及的今天,如何安全地让AI访问个人邮箱数据成为关键挑战。传统方法如直接暴露IMAP/SMTP凭证存在严重安全隐患,而第三方SaaS服务则涉及隐私泄露风险。Model Context Protocol (MCP) 作为一种新兴的标准化协议,为AI工具安全接入提供了解决方案。其核心价值在于实现数据源与AI助手间的安全、标准化交互,特别适用于处理敏感信息的场景。imap-mcp正是基于MCP协议构建的自托管邮件网关,它通过多层安全机制(包括主密钥加密和OAuth令牌哈希化)保护用户凭证,让用户能在

weixin_28295799的博客 657

Hash字符串匹配

hash字符串匹配即把固定长度的字符串转化为hash值进行匹配,这种匹配方式在大量数据的情况下是有误差的,大约万分之四五左右,这是因为hash值是通过字符和公式计算出来的,不同的字符串有可能根据我们的计算公式算出相同的hash值,这就会导致匹配的误差。 一、普通Hash匹配 普通hash匹配即每次截取模式串长度的字串计算hash值,然后原模式串的hash值进行比较,两者相同则认为匹配成功。 ...

Elltor 2269

UE5游戏逆向实战:用FModel提取.pak文件中的3D模型(附Dumper-7避坑指南)

本文详细介绍了如何使用FModel工具从UE5游戏的.pak文件中提取3D模型,并提供了Dumper-7的避坑指南。内容涵盖FModel工具链配置、UE5特有的unversioned properties问题解决方案、Dumper-7实战流程以及模型后处理技巧,帮助开发者高效获取游戏资产。

weixin_30872499的博客 425

手把手教你用TUSB2E22中继器实现eUSB2与USB 2.0互转(附实测数据对比)

本文详细介绍了如何利用TUSB2E22中继器实现eUSB2与USB 2.0的高效互转,包括技术背景、硬件设计要点、信号完整性测试方法及故障排查策略。通过实测数据对比,展示了TUSB2E22在信号延迟、功耗和眼图性能上的显著优势,为工程师提供了实用的工程方案。

weixin_29199873的博客 284

matlab 字符串 匹配,matlab中字符串匹配函数

MATLAB字符串匹配函数中,应用较多的有:findstr、strfind、strmatch、strcmp、strmcmp。这里我们大致列举这些函数的区别与联系在Matlab中,这几个函数区分如下:(以下默认S1和S2是字符串,同样也适用于cell细胞类型数据,也就是循环对cell中每个元素分别判断即可。)findstr(S1,S2):寻找是否有S1和S2之间的匹配,真返回1,假返回0,双向;例:...

weixin_42130889的博客 4678

Autosar EcuM配置-初始化及下电执行函数-基于ETAS软件

Autosar EcuM学习笔记-上电初始化执行函数及下电前执行函数,本文介绍在EcuM中的配置及使用。

赞的博客 851

C语言实现字符串匹配并返回匹配字符串

最近在写一个程序,需要用到字符串匹配,并且返回匹配的字符串,C语言库函数中的strtstr无法满足我的要求,只能自己写了。 代码如下 //string match function char *matchString(const char* buf, const char* sub) { char* tbuf = buf; char* tsub = sub; int i = 0;//tbuf...

qq_39397165的博客 4425

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

计算图像哈希SHA-512

上述需要将lena.jpg放在当前目录下。

计算机视觉之光 961

匹配字符串

问题描述: 分别输入字符串1和字符串2,若在字符串1中匹配到字符串2,则输出匹配位置。 代码展示: #include "pch.h" #include <iostream> #include <String> using namespace std; #define MaxSize 100 typedef struct { char data[MaxSize]; int...

ColorfulSeKaI的博客 317

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2062

字符串 通配符匹配

问题描述: 通配符匹配通配符 ?   表示可以替换一个任意字符 通配符 *   表示可以替换一个 长度任意的字符串 或者替换空 a*b?  可以匹配: acdbfdbf  abc      现给定通配字符串s1    判断s2 是否满足匹配 思路:采用动态规划 dp[i][j]表示S1前i长度部分与S2前j部分是否匹配 对于dp[i][j] ——s1[i]为*表示,该处可以为任意字符串 ...

一只老风铃 5977

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

字符串匹配算法——JavaScript

字符串匹配算法——javascript 文章目录字符串匹配算法——javascript字符串匹配BF算法 (暴力匹配) √KMP算法 √BM算法**坏字符规则**好后缀规则Trid树(字典树)√ 字符串匹配 字符串匹配问题的形式定义: **文本(Text)**是一个长度为 n 的数组 T[1…n]; **模式(Pattern)**是一个长度为 m 且 m≤n 的数组 P[1…m]; T 和 P 中的元素都属于有限的字母表 Σ 表; 如果 0≤s≤n-m,并且 T[s+1…s+m] = P[1…m],即对

总柴的博客 4008

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

c语言字符串内容匹配,C语言字符串匹配函数

C语言字符串匹配函数,保存有需要时可以用:#include #include #include #include #include /*pattern:pos:*/static int badShift[];static int goodPostfixLastPos(const char *pattern,int pos){#define _break(flag) if(flag){ break;...

weixin_36221923的博客 4712

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

正则匹配字符串无匹配不到_字符串匹配算法

我们先说下定义,比如说我们要在a字符串中查找字符串b,那么a就是主串,b就是模式串我们把主串的长度记为n,把模式串的长度记为m,n>mBF(Brute Force)中文名:暴力匹配算法,朴素匹配算法简单的说BF的算法就是在主串中查找起始位置是0,1,2,,,n-m个且长度为m的n-m+1个子串,看看有没有跟模式串匹配的如下图所示下面是我用php实现的BF算法的代码,很简单function B...

weixin_39943220的博客 306

Go语言的字符串匹配

字符串匹配是计算机科学中的重要课题,而Go语言提供了多种方式来高效地进行字符串匹配。无论是使用基础的算法还是利用标准库中的丰富函数,开发者都可以根据具体的应用场景选择合适的解决方案。在实际工作中,理解这些算法的原理和特性,将有助于我们在复杂的字符串处理任务中提高效率。希望这篇文章能够帮助你更好地理解Go语言中的字符串匹配,以及如何在实际项目中应用这些知识。若有兴趣,建议进一步研究更高级的算法和数据结构,例如使用Trie树构建高效的搜索工具,这将为你的开发工作打开更广阔的视野。

2501_91048739的博客 695

[算法系列之十二]字符串匹配之蛮力匹配

引言 字符串匹配是数据库开发和文字处理软件的关键。幸运的是所有现代编程语言和字符串库函数,帮助我们的日常工作。不过理解他们的原理还是比较重要的。 字符串算法主要可以分为几类。字符串匹配就是其中之一。当我们提到字符串匹配算法,最基本的方法就是所谓的蛮力解法,这意味着我们需要检查每一个文本串中的字符是否和匹配串相匹配。一般来说我们有文本串和一个匹配串(通常匹配串短于文本串)。我们需要做的就是回答...

SmartSi 1116
上一篇: 算法提高 身份证排序
下一篇: 算法提高 拼图
闵奈
博客等级 码龄7年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值