給定兩個字串a和b,判斷b是否是a的子序列,例如a=”abndjs“,b=“and”則返回ture,如果b=”adn“,那麼返回false
public class 判斷是否是子串 { public static void main(String[] args) { boolean flag = isSubString("avdslg", "avdlg"); System.out.println(flag); } public static boolean isSubString(String a,String b){ if (a.length()<b.length()) { return false; }else{ int ptr=0; int count=0;//這裡是統計相同字元, for(int i=0;i<b.length();i++){ for(int j=ptr;j<a.length();j++){ if (a.charAt(j)==b.charAt(i)) { ptr=j+1; count++; } } } return count==b.length()?true:false; } } }
相關推薦
面試8之給定兩個字串s1和s2,請編寫程式碼檢查s2是否為s1旋轉而成
假定我們都知道非常高效的演算法來檢查一個單詞是否為其他字串的子串。請將這個演算法編寫成一個函式,給定兩個字串s1和s2,請編寫程式碼檢查s2是否為s1旋轉而成,要求只能呼叫一次檢查子串的函式。給定兩個字串s1,s2,請返回bool值代表s2是否由s1旋轉而成。字串中字元為
給定兩個字串a和b,判斷b是否是a的子序列,例如a=”abndjs“,b=“and”則返回ture,如果b=”adn“,那麼返回false
public class 判斷是否是子串 { public static void main(String[] args) { boolean flag = isSubString("avdslg", "avdlg"); System.out.println(fl
給定兩個字串,從A中刪除存在於B中的字元
這道題可以採用常規思路實現,對於A中的每一個字元,遍歷B查詢是否還有該字元,如果有的話則進行刪除操作,這種做法時間複雜度為O(n^2)。 採用點陣圖實現能夠到達更好的時間效率,下面採用點陣圖來解決這個問題。 由於ANSCII碼總共只有256個字元,那麼用8個unsigne
隨筆-給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和
題目:給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和。 注意: num1 和num2 的長度都小於 5100. num1 和num2 都只包含數字 0-9. num1 和num2 都不包含任何前導零。 你不能使用任何內建 BigInteger 庫, 也不能直接將
一個字串A的子串被定義成從A中順次選出若干個字元構成的串。如A=“cdaad" ,順次選1,3,5個字元就構成子串" cad" ,現給定兩個字串,求它們的最長共公子串。 小王對既是素數又是迴文的
一個字串A的子串被定義成從A中順次選出若干個字元構成的串。如A=“cdaad" ,順次選1,3,5個字元就構成子串" cad" ,現給定兩個字串,求它們的最長共公子串。 小王對既是素數又是迴文的數特
兩個字串s和t,判斷t是否為s的重新排列後組成的
原始碼在linux裡面編譯測試通過,判斷t字串是否是s字元中的字元重新排序組合的。 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time
有兩個字串str和substr,str和substr的字元個數不超過10^5,只包含大小寫字母和數字。(字元個數不包括字串結尾處的’\0’。)將substr插入到str中ASCII碼最大的那個字元
輸入格式只有一行: str substr java 程式碼: package jiegouSuanfa; import java.util.Scanner; public class InsertString { public static void
【演算法】給定兩個字串,確定一個字串重新排列後能否變成另一個字串(java實現)
分析:兩個字串的長度都不相同時,不可能是變位詞 package com.billkang.algorithm; import java.util.Arrays; /** * 給定兩個字串,確
給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換(容易)
在vs2013寫的程式,使用sort進行排序,然後對比是否完全一樣即可/* 給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換。 置換的意思是,通過改變順序可以使得兩個字串相等。 */ #include "stdafx.h" #include <i
組合語言: 試編寫一段程式,要求比較兩個字串 string1 和 string2 所含字元是否相等,如相 等則顯示“MATCH”, 若不相同則顯示“NO MATCH”。
試編寫一段程式,要求比較兩個字串 string1 和 string2 所含字元是否相等,如相 等則顯示“MATCH”, 若不相同則顯示“NO MATCH”。 2017年5月25日23:
我們認為2是第一個素數,3是第二個素數,5是第三個素數,依次類推。 現在,給定兩個整數n和m,0
我們認為2是第一個素數,3是第二個素數,5是第三個素數,依次類推。 現在,給定兩個整數n和m,0<n<=m<=200,你的程式要計算第n個素數到第m個素數之間所有的素數的和,包括第n個素數和第m個素數。 /*我們認為2是第一個素數,3是第二個素數,5
小演算法:給定兩個字串,請編寫程式,確定其中一個字串的字元重新排列後,能否變成另一個字串s首先
(1)題目描述 給定兩個字串,請編寫程式,確定其中一個字串的字元重新排列後,能否變成另一個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。 給定一個string stringA和一個string stringB,請返回一個bool,代表兩串是否重新排列後可相同。保證
給定兩個字串s1,s2,請編寫程式碼檢查s2是否為s1旋轉而成
#include <iostream>#include <string>#include <cstdio> // getchar()using namespace std;/************************************************
lintcode55:比較兩個字串A和B,確定A中是否包含B中所有的字元。
*樣例 給出 A = “ABCD” B = “ACD”,返回 true 給出 A = “ABCD” B = “AABC”, 返回 false 注意 在 A 中出現的 B 字串裡的字元不需要連續或
比較兩個字串A和B,確定A中是否包含B中所有的字元。
如題 樣例 給出 A = "ABCD" B = "ACD",返回 true 給出 A = "ABCD" B = "AABC", 返回 false 注意 在 A 中出現的 B 字串裡的字元不需要連續或者有序。 目前思路是分別掃描兩個字串得到兩個map&l
給出兩個字串a和b,判斷字串a是否包含字串b
題目一: 給出兩個字串a和b,例如 a=”ABJKI“, b=“JK”,則 a 包含 b 。 下面的方法很巧妙啊。 題目二: 實現一個演算法來判斷一個字串中的字元是否唯一(即沒有重複). 思想就
兩個字串A,B,在A中刪除B的元素
//we are students --- aeiou === w r stdnts char* DeleteTwoInOne(char first[],char second[]) { if (first == NULL || second == NULL) re
面試12之給定兩個連結串列ListNode* A,ListNode* B,請返回A+B的結果
有兩個用連結串列表示的整數,每個結點包含一個數位。這些數位是反向存放的,也就是個位排在連結串列的首部。編寫函式對這兩個整數求和,並用連結串列形式返回結果。給定兩個連結串列ListNode* A,ListNode* B,請返回A+B的結果(ListNode*)。測試樣例:{
藍橋杯題目 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。
問題描述 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。 演算法描述 由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。
lintcode 二進位制求和 給定兩個二進位制字串,返回他們的和(用二進位制表示)。
Lintcode容易題 二進位制求和 檢視執行結果 15:00 Start 給定兩個二進位制字串,返回他們的和(用二進位制表示)。 您在真實的面試中是否遇到過這個題? Yes 樣例 a = 11 b = 1 返回 100 標籤 字串