poj-POJ上判断是否为字符子串的问题

问题描述

POJ上判断是否为字符子串的问题
 #include<iostream>
#include<string>
using namespace std;
int main()
{
    string s, t;
    while (cin >> s >> t)
    {
        int lens, lent, i, j;
        lens = s.size();
        lent = t.size();
        i = j = 0;
        while (i<lens)
        {
            while (j < lent && t[j] != s[i])
                j++;
            if (j == lent)
                break;
            i++;
        }
        if (i == lens && lens!=lent)
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
    }
    return 0;
}

这是POJ上的1936题,判断s是否为t的子串,我试了好几次都没问题,但是提交上去
又不对;我以为s和t不能完全相同,于是在输出"Yes"的判断条件里面又加上了长度必须相等,但还是不对,有谁知道问题所在吗?

解决方案

H面试程序(11): 判断字符串是否包含子串问题
字符子串问题
字符子串问题

解决方案二:

对了,这道题目中,只要t中有s的全部字母,并且按顺序排列即可,换句话说可以中间插入,比如s=“THEJD”,t="oafoTngonsoHhfnoawhoEnvoJhgohD",
此时s也是t的子串

时间: 2024-09-21 07:49:01

poj-POJ上判断是否为字符子串的问题的相关文章

gbk-如何从字体上判断该字体是否支持显示GBK扩展文字和符号

问题描述 如何从字体上判断该字体是否支持显示GBK扩展文字和符号 比如用户选择了一种字体,该用什么方法获知该字体是否支持显示中文扩展字符? 找遍了英文文档,还是无法将GB2312字体和GBK字体辨识出来. 解决方案 GB2312.GBK.GB18030 这几种字符集的主要区别:http://www.zhihu.com/question/19677619

在汇编程序在屏幕上显示不出字符~

问题描述 在汇编程序在屏幕上显示不出字符~ 明明我已近将数据输入到B8000:0000中了为什么屏幕显示不出来? 我用的虚拟机XP系统,直接打开EXE程序不显示,用DOS打开也不显示'W' 解决方案 汇编程序,输入字符显示*为什么这个汇编程序,不能在屏幕上面显示! 解决方案二: http://bbs.csdn.net/topics/340202832

string-找有多少个字符子串的问题,每次都是在第三个报错

问题描述 找有多少个字符子串的问题,每次都是在第三个报错 #include #include #include using namespace std; #define MAXLEN 1000 int main() { int i, j, N, NC, count, flg1, flg2; cin >> N >> NC; string str; cin >> str; char * a[MAXLEN],*temp; for (i = 0; i < MAXLEN;

用GridView控件的时候 怎么在页面上判断字段值 比如是&amp;amp;quot;1&amp;amp;quot; 那显示出来就是&amp;amp;quot;男&amp;amp;quot;

问题描述 用GridView控件的时候怎么在页面上判断字段值比如是"1"那显示出来就是"男" 解决方案 解决方案二:在绑定事件中判断字段值,是1就是男..解决方案三:首先查出这条数据然后用判断了.if(数据库查出来的值){Label1.Text="男"}解决方案四:在RowDataBount中判断if(e.Rows.cell[第几列].text=="1")e.Rows.cell[第几列].text="男";

php判断页面输入字符编码方法

php教程判断页面输入字符编码方法 <?php function convtoutf8($str) { if( mb_detect_encoding($str,"utf-8, iso-8859-1, gbk")!="utf-8" ) { return  iconv("gbk","utf-8",$str); } else { return $str; } } ?> 不过有朋友说,mb_detect_encoding函

poj 2039 To and Fro【字符数组操作】

这道题同样没有太多好说的,总之要细心就好了! AC的代码: #include <stdio.h> #include <string.h> //先输入到一个字符数组之后在进行处理 char letters[22][202];//第一行代表列 char myInput[202]; void testPrint(int n) { //测试输出 int i,j; for(j=0;j<(int)strlen(myInput)/n;j++) { for(i=0;i<n;i++) {

POJ 2653 暴力判断线段相交

题意是按照输入的先后顺序放木棍,然后输出最上层的木棍,何为最上层,就是木棍上方没有木棍和它相交就行. 这题坑爹啊,一直TLE后来才发现最上层木棍不是底下的木棍数最多而是只要上方没有木棍就行.所以只需要开一个标记数组从前往后如果后面有与它相交的那么这个木棍肯定不是最上层的,知道这些再知道线段相交的模板就可以A了. #include <iostream> #include<cstdio> #include<cstring> #include<algorithm>

php正则判断只能输入字母字符和数字例子

数字正则过滤  代码如下 复制代码 if(preg_match("/^\d*$/",$yebihai))   echo('是数字'); else  echo('不是数字'); 或者用函数 if(is_numeric($yebihai)) echo('是数字'); else echo('不是数字'); 这两种方法的区别是  is_numeric小数也会认为是数字,而前面正则会把小数点当作字符. 正则表达式如下 数字和字母 :  代码如下 复制代码 $password='abc12'; i

mysql中如何判断当前是字符 mysql判断字段中有无汉字_Mysql

使用length与char_length两个函数 length:是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 char_length:不管汉字还是数字或者是字母都算是一个字符 对同一字段分别使用length.char_length计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字 复制代码 代码如下: SELECT   * FROM  t_ad t WHERE t.`userid` = 974   AND LENGTH(    REPLACE(REPLACE(t.`