题目
给定两个字符串 s和 t ,判断 s是否为 t 的子序列。
你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度n ~= 500,000),而 s 是个短字符串(长度 <=100)。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
进阶:时间复杂度O(n)\O(n) ,空间复杂度O(n)\O(n)

输入输出描述
输入描述: 共两行,第一行为字符串s, 第二行为字符串t 字符串t的长度 1<=n<=500000 字符串s的长度 1<=m<=100
输出描述: 输出true或者是false,true表示是s是t的子序列,false表示s不是t的子序列
示例
示例1

输入
abc
ahbgdc
输出
true
示例2

输入
axc
ahbgdc
输出
false

代码块

原理:循环找子字符串的字符找到一个就从当前位置截取后面的,如果后面字符长度依然很大所以有可能会有第二个字符串,然后递归找下一个
 public static void main(String[] args)  {Scanner scanner = new Scanner(System.in);String origin = scanner.nextLine();String sub= scanner.nextLine();int index = 0;String m = origin;int i = 0;int index1 = getIndex(origin, sub, index, i, m);System.out.println(index1);}public static int getIndex(String origin, String sub, int index, int i, String m) {for (String s : sub.split("")){if (origin.indexOf(s) != -1) {origin = origin.substring(origin.indexOf(s)+1, origin.length());if (s.equals(sub.substring(0, 1))) {index = m.indexOf(s, i);}} else if (i == 0) {index = -1;return index;}}if (origin.length() >= sub.length()) {i++;return getIndex(origin, sub, index, i, m);}return index;}

*【华为机试真题详解】判断字符串子序列**相关推荐

  1. 【华为机试真题详解】判断字符串子序列【2022 Q1 Q2 | 200分】

    文章目录 前言 题目描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我, ...

  2. 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...

  3. 【华为机试真题详解】开心消消乐【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  4. 【华为机试真题详解】高矮个子排队

    文章目录 前言 题目描述 示例 1 示例 2 示例 3 题目分析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  5. 【华为机试真题详解】优选核酸检测点【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  6. 【华为机试真题详解】小兔子繁殖详解

    文章目录 前言 讲解试题 如何写一个递归函数 DP2 跳台阶 小兔子繁殖 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想 ...

  7. 【华为机试真题详解 Python实现】最差产品奖【2023 Q1 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有 ...

  8. 【华为机试真题详解】日志首次上报最多积分【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述: 输出描述: 示例 1 题目分析 示例解析 示例分析清楚了那题目要怎么写呢? 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏 ...

  9. 【华为机试真题详解 Python实现】统计差异值大于相似值二元组个数【2023 Q1 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 题目解析 参考代码 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可 ...

  10. 【华为机试真题详解】数大雁【2022 Q2 | 100分】

    文章目录 前言 详解试题 1419. 数青蛙 华为机试题. 数大雁 题目解析 数青蛙代码实现 数大雁不考虑叫声不完整的情况 数大雁考虑叫声不完整的情况 前言 <华为机试真题详解>专栏含牛客 ...

最新文章

  1. redis, memcached, mongo性能比较
  2. Docker的使用初探(二):Docker与.NET Core的结合
  3. 【PC工具】图片批量添加水印工具,绿色免安装工具软件,妈妈再也不用担心我.....
  4. 国开专科计算机应用基础,2021年国开专科《计算机应用基础》形考任务题库大全.docx...
  5. TCP性能和发送接收窗口、Buffer的关系
  6. jzoj3844-统计损失【树形dp,换根法】
  7. MySQL week()函数
  8. leetcode39. 组合总和
  9. verilog 简单module_HDLBits:在线学习 Verilog (二十九 · Problem 140-144)
  10. 如何升级浏览器_涨姿势|教你用手机一键升级路由器软件(固件)
  11. docker nginx 反向代理
  12. 计算机组成原理----超标量流水线结构模型分析!!!
  13. HTML中包含地图和筛选条件,如何实现DedeCMS多条件筛选并以筛选词为标题
  14. 一直以来伴随我的一些学习习惯(part1)
  15. python 线性插值处理_python线性插值解析
  16. JavaScript知识点全面概括与总结(上)
  17. python爬虫自动更换ip_python爬虫:自动投票代码(自动爬取代理IP)
  18. 高中计算机基础知识课件,5.1.2 信息资源管理的方式方法
  19. 有了方差为什么需要标准差?
  20. Mysql 8配置驱动

热门文章

  1. 【生活中的逻辑谬误】以泪掩过和以笑饰非
  2. 如何更换我的密钥对?
  3. guid主分区表损坏如何处理_什么是GPT或GUID分区表
  4. ai电话机器人销售过程自动化功能,黑斑马电话机器人系统
  5. [语音识别] 单音素、三音素、决策树
  6. po模型+unittest测试
  7. 方便的视频播放器-饺子播放器
  8. oracle试算平衡表查询,介绍一下余额试算平衡表的计算方法
  9. 作为资深Mac用户,有哪些你相见恨晚的软件值得推荐?
  10. 天池比赛-02-用Apriori算法进行商品关联分析