1. 程式人生 > >寒假訓練--字串--子串

寒假訓練--字串--子串

子串

Time Limit: 1000MS Memory limit: 65536K

題目描述

      對於一個字串變數,例如"abcdefghijkl",它的子串就是像"cdefg"這樣可以從中找到的連續的字串。給定一個字串和它的一個子串,求出這個子串在原串中不重疊得出現了幾次。例如:原串為:aaaa 子串為:aa。那麼子串在原串中出現了兩次。

輸入

輸入資料的第一行為一個整數 T(0 < T < 20) 接下來 T 行每行為兩個空格分隔的字串,分別代表原串和子串(原串長度不超過100,子串長度不超過10)。

輸出

對於每組測試資料,按照題目描述輸出對應的結果。

示例輸入

2
aaaa aa
apapapapapapa pa

示例輸出

2
6

提示

來源

qinchuan

示例程式

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int i , j , li , lj , flag , k , n , count;
    char str1[300] , str2[300] ;
    scanf("%d", &n);
    for(k = 1 ; k <= n ; k++)
    {
        scanf("%s%s", str1,str2);
        flag = 0 ; count = 0 ;
        lj = strlen(str2); li = strlen(str1);
        for(i = 0 ; i < li ; i++)
        {
            if(str1[i] == str2[0])
            {
                for(j = 0 ; i < li , j < lj ; i++, j++)
                    if(str1[i] != str2[j]) break;
                if(j >= lj) count++;
                i--;
            }
        }
        printf("%d\n", count);
    }
    return 0;
}

相關推薦

寒假訓練--字串--

子串 Time Limit: 1000MS Memory limit: 65536K 題目描述       對於一個字串變數,例如"abcdefghijkl",它的子串就是像"cdefg"

最大子序列、最長遞增序列、最長公共、最長公共序列、字串編輯距離總結

一、最大子序列 即找出由陣列成的一維陣列中和最大的連續子序列。例如{5, -6, 4, 2}的最大子序列是{4, 2},它們的和是6。 思路:假設陣列為num,用dp[i]儲存當遍歷到num[i]時,num[0]~num[i]之間求得的最大子序列的和。 遍歷num,當遍歷到nu

Blue Jeans POJ - 3080 (多個字串的最長公共)

題意:       給定n個字串,要你求出這n個字串的最長公共子串,如果存在多個輸出字典序最小的那個. 分析:        KMP+暴力去列舉即可. #include<stdio.h> #incl

判斷非空字串是否由首尾拼接

如輸入abcabc,則返回abc,若輸入abcbc,返回false. 大致思路是,從第一個字元開始,到中間的字元,依次生成子串b,呼叫方法,判斷是否在父串a中由首尾拼接而成。判斷輸入的字串a是否為這個字串b的倍數,若不是,直接返回false,若是,迴圈擷取和剛剛找到的字元串同長度的字

演算法學習——尋找字串中的最長迴文

文章轉載自公眾號《網際網路偵查》 /** * @author xiaoshi on 2018/9/24. * Happy Mid-Autumn Festival */ public class PlalindromeString { // 判斷一個字串是否迴文,演算法中用

演算法題2:統計字串A中長度為k的字串B中出現的總次數

問題: 輸入一個正整數 k,一個字串 A和字串B,統計A中長度為k的子串在B中出現的總次數,輸出總次數。 例如:k=2, A =’abba’, B=’abbaab’,則A的長度為2 的子串有 [‘ab’,’bb’,’ba’],它們在B中出現的次數分別為2、1、1,所以輸

5.2 字串中數字的求和

【題目】:   給定一個字串str,求其中全部數字串所代表的數字之和   【要求】:   1. 忽略小數點字元,例如"A1.3",其中包含兩個數字1和3   2. 如果緊貼數字子串的左側出現字元"-", 當連續出現的數量為奇數時,則數字視為負,連續出現的數量為偶數時,則數字視為正。例如,"

給定一個字串,找出不含有重複字元的最長子的長度。 示例: 給定 "abcabcbb" ,沒有重複字元的最長子是 "abc" ,那麼長度就是3。 給定 "bbbbb" ,最長的就是 "b

Str = raw_input('plese input Str:') def qiu_chongfu(Str2):#定義判斷字串是否含有重複字元,如有返回0,沒有返回1 biao = 0 for i in range(0,len(Str2)): for j in

兩個陣列的中位數以及一個字串中最長的不重複的

題目:兩個陣列的中位數 指先找到兩個有序陣列的中位數,然後求兩個中位數的平均值 程式碼如下: # _*_ coding: utf-8 _*_ # 題目:求兩個排序陣列的中位數的平均數 class Solution: def __init__(self, nums1, nu

cf#516C. Oh Those Palindromes(最多回文字串排列方式,字典序)

http://codeforces.com/contest/1064/problem/C 題意:給出一個字串,要求重新排列這個字串,是他的迴文子串數量最多並輸出這個字串。 題解:字典序排列的字串迴文子串最多。 1 #include<bits/stdc++.h> 2 using n

兩個字串中最大相同的

求得短的字串和長的字串兩個字串中相同的字串段。    public static String getMaxSubString(String s1, String s2) {         String

Leetcode 336. Palindrome Pairs 給出一種遍歷字串迴文中心的方法

題意 給你n個不同的字串,讓你找出所有的字串對(i, j),使得s(i) + s(j)是迴文串且i不等於j 思路 這題沒有給資料範圍,所以你其實不知道應該給什麼複雜度的演算法,我看了眼Discussion,先確定了下需要的複雜度 複雜度是O(n *

找出字串最長不重複(或者是列表)

# 找出來一個字串中最長不重複子串def find_Maxlen_Son_list(astr): maxlen = 0 定義最長字串的初始長度// dict = {} list1 = [] for i in range(0,len(astr)): str2 = ''

求任意兩個字串的最大相同

c語言# include<stdio.h> #include<string.h> int main(){ char a[100],b[100]; printf("s1="); scanf("%s",a); printf("s2="); s

輸入一個子和一個整,求該在整個字串中出現的次數

編寫應用程式,輸入一個子串和一個整串,求該子串在整個字串中出現的次數 import java.util.*; public class Tetso5 { public static void main(String[] args) { // TODO Auto-generated

Manacher演算法(一個字串中找到最長迴文)

零、預備知識   Manacher用於在一個字串中找到最長的迴文子串。   迴文串:正著念和反著念一樣,例如aabbaa,anna等。   注意子串與子序列的區別:     子串必須是在原字元中可以找到的。比如 " I am a student"。am是子串(當然也是子序列),但是aa就不是子串了(是

給定一個字串s,返回去掉"mi"後的字串

給定一個字串s,返回去掉子串"mi"後的字串。(注:刪除n個mi後,仍包含mi應一同刪除,如ammimiib,應返回ab)要求時間複雜度不超過2n。 package com.weshare.eel.task.utils; import java.util.Stack; /** *

檢索每個字串(python散列表實現)

import re def get_str(i,num): str_list = re.findall(r'.{{{str_length}}}'.format(str_length=i), num) return str_list def add_str(res,

C程式設計——程式設計實現查詢兩個字串的最大公共2.0

1、 題目:程式設計實現查詢兩個字串的最大公共子串 示例:“aocdfe"和"pmcdfa"最大公共子串為"cdf” 注:最大公共子串有不止一個時,只輸出第一個最大子串 利用斐波那契數列數的思想 **2、**程式 #include <stdio.h> #include &

C程式設計——程式設計實現查詢兩個字串的最大公共1.0

1、 題目:程式設計實現查詢兩個字串的最大公共子串 示例:“aocdfe"和"pmcdfa"最大公共子串為"cdf” 注:最大公共子串有不止一個時,只輸出第一個最大子串 **2、**程式 #include <stdio.h> #include <string.h>