首页 > 其他分享 >3.25

3.25

时间:2024-03-25 21:01:28浏览次数:23  
标签:String needle Pipeixiabiao 3.25 scanner haystack Scanner

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。

 


package org.example;

import java.util.Scanner;

class Pipeixiabiao {
public static String strStr(String haystack, String needle) {
String f = null;
int n = haystack.length(), m = needle.length();
for (int i = 0; i + m <= n; i++) {
boolean flag = true;
for (int j = 0; j < m; j++) {
if (haystack.charAt(i + j) != needle.charAt(j)) {
flag = false;
break;
}
}
if (flag) {
return needle;
}
}
return f;
}
public static void main(String[] args) {
Pipeixiabiao pipeixiabiao =new Pipeixiabiao();//实例化solution的对象
Scanner scanner = new Scanner(System.in);//System.in 负责读入控制台输入的文本

String haystack=scanner.nextLine();//scanner.nextLine() 是 Java 中 Scanner 类的一个方法,用于读取用户从控制台输入的一行文本。这个方法会读取从当前位置到下一个换行符(\n)之间的所有字符,包括任何空格、制表符或其他空白字符,并将它们作为一个完整的字符串返回。
String needle =scanner.nextLine();
String strStr=Pipeixiabiao.strStr(haystack,needle);
System.out.println(strStr);
}
}

这段代码返回的是相同的字符串(短的一个,在有相同的前提下)
这是暴力解法,依次匹配对比主串和子串的每一个元素是否相同,若相同就向后继续对比,直到匹配完字串,或者出现不同.
图示最浅显易懂的 KMP 算法讲解_哔哩哔哩_bilibili
另外还有时间复杂度更低的解法kmp算法,明天再学

标签:String,needle,Pipeixiabiao,3.25,scanner,haystack,Scanner
From: https://www.cnblogs.com/wangzelin/p/18095326

相关文章

  • 3.25每日总结
    给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。代码packageorg.example;importjava.util.Scanner;publicclassShuzu......
  • 刷题笔记 3.25
    ABC254C题:给定一个长为n的数列,给定k,可以进行的操作是:交换a[i]和a[i+k],可以进行任意多次,问能否sort成一个非递减数列?我当时的思路:因为我们是知道最后的数列的样子的,然后就思考:“这个数怎么变过来?可以变吗?”然后就发现好像只需要最后的非递减数列的每一个数在原数列中的对应下标......
  • 2023.25 大模型和小模型
    大模型通常指参数较多、层数较深的模型,它们具有更强的表达能力和更高的准确度,但也需要更多的计算资源和时间来训练和推理。常见的大型模型包括深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)等。这些模型适用于数据量较大、计算资源充足的场景,例如云端计算、高性能计算、人工......
  • day25(2023.3.25)
    1.装饰器模式 运行结果: 2.FileUtils类① 运行结果:  3.FileUtils类② 运行结果:aaa: bbb: 4.IOUtils类 运行结果: IO章节的知识点就差不多......
  • 3.25学习总结
    如题,在Item布局的根节点添加上述属性,android:descendantFocusability="blocksDescendants" 即可,另外该属性有三个可供选择的值:beforeDescendants:viewgroup会优先其子类......
  • 3.25每日总结
      今天学习了0.5h,主要还是了解学习了关于js的内容。1、在标签中填写onclick事件调用函数时,不是 onclick=函数名,而是 onclick=函数名+(),代码如下:<script>funct......
  • 每日总结 3.25
    今天进行了Android的北京地铁查询,代码量100行左右,packagecom.example.ditie;importandroidx.appcompat.app.AppCompatActivity;importandroid.annotation.Suppres......
  • 闲话 23.3.25
    闲话我看看今天要写什么杂题……模拟赛GDKOI2023Day2。感谢神秘题(咬牙)。T1思路不难。三个点间的路径肯定交于一点\(s\),我们可以解方程找到\(s\tou/v/w\)的长度。......
  • 解决 WebSocketClient.js?5586:16 WebSocket connection to 'ws://192.168.13.25:8080
    控制台报错: vue.config.jsVue的配置文件const{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({devServer:{host:'0.0.0......