美文网首页
9.11 小米上机试题

9.11 小米上机试题

作者: HamletSunS | 来源:发表于2019-10-23 23:34 被阅读0次

[编程题]序列模式匹配
给定文本text和待匹配字符串pattern,二者皆只包含小写字母,并且不为空。
在text中找出匹配pattern的最短字符串,匹配指按序包含pattern,但不要求pattern连续。
如text为abaacxbcbbbbacc,pattern为cbc,text中满足条件的是abaacxbcbbbbacc下划线部分。

输入描述:
多行,每行一个text和一个pattern,用空格分隔。
保证1<=|text|,|pattern|<=1000,Σ|text|,Σ|pattern|<=10000。

输出描述:
输出最短匹配序列起止位置(位置下标从0开始),用空格分隔。若有多个答案,输出起止位置最小的答案;若无满足条件的答案,则起止均为-1

/*
我的思路是暴力搜索,首先设定初值,代表起始点和终点,长度?
然后开始遍历第一个字符串的每一个位置: 
1. 以字符串的每一个符合条件的为起点,遍历搜索,若能搜到,记录下长度,起始点,终点 
2. 本次循环结束后,判断是否为最短,是的话更新起始点
3.继续遍历后面
*/

#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <string>

using namespace std;

void getRet(string &a,string &b){
    int alen=a.size(),blen=b.size();
    int start=-1,end=-1,len=a.size()+1;
   for(int i=0;i<alen;i++){
       if(a[i]==b[0]){
           int start1=i,start2=0;
           while(start1<alen && start2<blen){
               if(a[start1]==b[start2])                   
                   start2++;
               start1++;               
           }
           if(start2==blen){
               if(start1-i<len){
                   start=i;
                   end=start1-1;
                   len=start1-i;
               }
           }
       }
   };
    cout<<start<<" "<<end<<endl;
}

int main(){
    string a,b;
    while(cin>>a>>b){
        getRet(a,b);
    }
    return 0;
}

相关文章

  • 9.11 小米上机试题

    [编程题]序列模式匹配给定文本text和待匹配字符串pattern,二者皆只包含小写字母,并且不为空。在text中...

  • 上机面试题

    1.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,...

  • 第36课 rsync全网备份项目实战 2019-05-21

    一、 企业案例:rsync上机实战考试题: web01 10.0.0.7backup 10.0.0.41某公司里...

  • Unity上机面试题

    1、实现吊机吊物体的功能 2、写一个计时器工具,从整点开始计时,格式为:00:00:00 3、用鼠标实现在场景中拖...

  • Java第一学期上机试题

    只供参考 看完请点赞 一个赞就是1/10分钱1、要求从键盘输入3个数,然后输出其中最大的数! 2\3 4不写 5....

  • 西山居 9.11 笔试题

    描述 给出 3 * 3 方阵,你需要在其中填入数字 1 ~ 9,使其每一行和每一列的元素之和为15其中一些位置上的...

  • 苏州大学2009-2011年上机复试题

    2009年上机复试题 题目   (1)用IE浏览器从FTP上下载org.dat,并保存在D盘的根目录下。  (2)...

  • 企业案例:rsync上机实战考试题-day36

    2019-05-21企业案例:rsync上机实战考试题: 环境准备 web01服务器(客户端) 1.创建环境 2....

  • 小甲鱼012列表:一个打了激素的数组3

    测试题: 0. 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。 >>> old = [1, ...

  • 苏州大学2008年上机复试题

    2008年上机复试题 题目 (1)用IE从FTP上下载org.dat,并保存在D盘的根目录中。(2)此文件中按文本...

网友评论

      本文标题:9.11 小米上机试题

      本文链接:https://www.haomeiwen.com/subject/sxuiyctx.html