目录
- 专栏导读
- 一、题目描述
- 二、输入描述
- 三、输出描述
- 四、解题思路
- 五、Java算法源码
- 六、效果展示
- 1、输入
- 2、输出
- 3、说明
华为OD机试 2023B卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
给你两个字符串t和p,要求从t中找到一个相同的连续子串,并输出该子串第一个字符的下标。
二、输入描述
输入文件包括两行,分别表示字符串t和p,保证t的长度不小于p,且t的长度不超过1000000,p的长度不超过10000。
三、输出描述
如果能从t中找到一个和p相等的连续子串,则输出该子串第一个字符在t中的下标(下标从左向右依次是1,2,3);
如果不能则输出“No”;
如果含有多个这样的子串,则输出第一个字符下标最小的那个;
示例1:
输入:
AVERDXIVYERDIAN
RDXI
输出:
4
四、解题思路
白给的,没思路。
五、Java算法源码
package com.guor.od;
import java.util.*;
public class OdTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 如果能从t中找到一个和p相等的连续子串,则输出该子串第一个字符在t中的下标
String t = sc.nextLine();
String p = sc.nextLine();
if (t.length() < p.length()) {
System.out.println("No");
}
int idx = t.indexOf(p);
if (idx == -1) {
System.out.println("No");
} else {
System.out.println(idx + 1);
}
}
}
六、效果展示
1、输入
nezhastudyjavastudy
study
2、输出
6
3、说明
如果能从t中找到一个和p相等的连续子串,则输出该子串第一个字符在t中的下标。
在nezhastudyjavastudy字符串中第一个study出现的位置是6。
🏆下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法
🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。