华为机试真题--字符串序列判定

题目描述:

输入两个字符串S和L,都只包含英文小写字母,其中S长度<=100,L长度<=500000,请判定S是否是L的有效字串。

判定规则:

S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中顺序要保持一致。(例如,S="ace"是L="abcde"的一个子序列且有效字符是a、c、e,而"aec"不是有效子序列,且有效字符只有a、e)

输入描述:

输入两个字符串S和L,都只包含英文小写字母。

S长度<=100,L长度<=500,000。先输入S,再输入L,每个字符串占一行。

输出描述:

S串最后一个有效字符在L中的位置。(首位从0开始计算,无有效字符返回-1)

示例1:

输入

ace

abcde

输出

4

示例2:

输入

fgh

abcde

输出

-1

C++源码:

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

int main() {
    string S, L;
    cin >> S >> L;
    int index = -1;
    for (int i = 0, j = 0; i < S.size() && j < L.size(); ++j) {
        if (S[i] == L[j]) {
            index = j;
            ++i;
        }
    }
    cout << (index != -1 ? index : -1) << endl;
    system("pause");
    return 0;
}
相关推荐
爱煲汤的夏二1 分钟前
扩展卡尔曼滤波器 (EKF) 与无人机三维姿态估计:从理论到实践
单片机·嵌入式硬件·算法·无人机
西红柿煎蛋2 分钟前
C++11 Lambda表达式的本质是什么?它的捕获列表 ([]) 是如何工作的?
c++
博睿谷IT99_3 分钟前
2025年华为HCIA-AI认证是否值得考?还是直接冲击HCIP?
人工智能·华为·ai·华为认证·职业规划
sali-tec7 分钟前
C# 基于halcon的视觉工作流-章27-带色中线
开发语言·人工智能·算法·计算机视觉·c#
范特西_10 分钟前
字典树/前缀树
c++·算法
GeekPMAlex12 分钟前
Langchain/Langgraph知识点1
算法
MPCTHU29 分钟前
决策树实现回归任务
算法·决策树·回归
sheepwjl42 分钟前
《嵌入式C语言笔记(十七):进制转换、结构体与位运算精要》
linux·c语言·开发语言·笔记·算法
修钩.1 小时前
力扣 Pandas 挑战(5)---数据分组
算法·leetcode·pandas
xiaobaibai1531 小时前
烟草复杂包装识别准确率↑31%!陌讯多模态SKU检测算法在零售终端的实战解析
人工智能·算法·视觉检测·边缘计算·零售