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

题目描述:

输入两个字符串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;
}
相关推荐
奔跑的露西ly6 分钟前
【HarmonyOS NEXT】沉浸式页面实现
华为·harmonyos
KingRumn6 分钟前
Linux信号之信号安全
linux·算法
智驱力人工智能8 分钟前
从合规到习惯 海上作业未穿救生衣AI识别系统的工程实践与体系价值 未穿救生衣检测 AI救生衣状态识别 边缘计算救生衣监测设备
人工智能·深度学习·opencv·算法·目标检测·边缘计算
猎板PCB黄浩9 分钟前
高多层线路板工厂专业选型指南:全流程评估体系与猎板适配场景解析
大数据·人工智能·算法·pcb
小Tomkk11 分钟前
我开发的一款鸿蒙游戏《猜数字大师》 应用介绍 和技术架构
游戏·华为·harmonyos
霖大侠12 分钟前
Squeeze-and-Excitation Networks
人工智能·算法·机器学习·transformer
鸿蒙开发工程师—阿辉13 分钟前
HarmonyOS 5 数据持久化:状态持久化 (PersistentStorage)
华为·harmonyos
一个不知名程序员www24 分钟前
算法学习入门---C/C++输入输出
c语言·c++
APIshop31 分钟前
高性能采集方案:淘宝商品 API 的并发调用与数据实时处理
linux·网络·算法