1. 程式人生 > >比較兩個字串的連線模式是否相同

比較兩個字串的連線模式是否相同

題目要求是,輸入兩個字串,s和t,比較倆個字串的連線模式是否相同。其中字串連線模式可以定義為,字串中字元的出現規律。
例如:
feed 和 goot,其中ee和oo出現位置相同,所以其拼接模式相同;
paper和title,paper中的p和titile中的t出現位置相同;
newspaper和 dog,字串長度相同,所以拼接模式不可能相同;
zoo和aac, oo連續出現在位置2和3,但在aac中卻沒有對應相同的字元出現,所以其模式不同.

要求實現函式bool fun(const string & s, const string & t);
解答:可以通過對映來實現,程式碼如下:

bool fun(const string & s, const string & t)
{
    if (s.size() != t.size())return false;
    int mp[300] = { 0 };
    for (int i = 0;i < t.size(); ++i)
    {
        if (!mp[s[i]])mp[s[i]] = t[i];
        else if (mp[s[i]] != t[i])return false;
    }
    return true;
}

相關推薦

比較字串連線模式是否相同

題目要求是,輸入兩個字串,s和t,比較倆個字串的連線模式是否相同。其中字串連線模式可以定義為,字串中字元的出現規律。 例如: feed 和 goot,其中ee和oo出現位置相同,所以其拼接模式相同;

組合語言: 試編寫一段程式,要求比較字串 string1 和 string2 所含字元是否相等,如相 等則顯示“MATCH”, 若不相同則顯示“NO MATCH”。

試編寫一段程式,要求比較兩個字串 string1 和 string2 所含字元是否相等,如相 等則顯示“MATCH”, 若不相同則顯示“NO MATCH”。 2017年5月25日23:

比較字串的大小,並顯示最大的字串,如果字串相同則顯示第一個

  #include <stdio.h> char *fun (char *s, char *t) {  int i=0,j=0;     while(*s++)i++;     while(*t++)j++;     if(i-j>=0)return s

Python 2.X 下,比較字串是否相同

在實際操作中,將一個dict資料型別中的值,與從Excel表中提取的一系列資料進行比較,看dict中的資料是否與Excel匹配。可能會遇到如下問題: UnicodeWarning: Unicode equal comparison failed to convert bot

故如果要比較字符串是否相同可以對a調用equal

sta 比較 spa main 如果 this equal tex h+ 故如果要比較兩個字符串是否相同(而不是他們的地址是否相同)。可以對a調用equal: System.out.println(a.equal(b)); equal用來比較兩個對象中字符串的順序。 a

字串中最大相同的子串

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

求任意字串的最大相同子串

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

編寫程式,獲取字串中最大相同子串

private void test() { String a = "Valaienie"; String b = "Maierginle"; String max = a.length() > b.length() ? a : b; String min =

C語言:比較字串是否相等

1) 使用strcmp進行比較 下面通過一個例子進行演示: #include <stdio.h> #include <string.h> int main(void) { char* str1 = "abc"; char* str2 = "a

比較字串時間戳大小

問題描述:對外提供的介面,為了防止有人擷取到連結請求無限制的訪問佔用頻寬,現在要加上時間戳來校驗,只有在指定時間之內訪問的連結,才被認可。 實現方式: 比較timestamp1和timestamp2 var timestamp1 = new Date('2014-11-

比較json,key值相同的情況下判斷另一個json的value值是否為空(遞迴)

前言:作為一個Java的初學者,第一個寫部落格,如有不當之處請多多指教。我是在檢驗報文的必輸項的情況下寫的該方法。 import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray

C語言:strcmp比較字串是否相等

#include<stdio.h> #include<string.h> //比較兩個字串是否相等,(或者說前字串比後字串不同的地方大幾) int My_strcmp( const char *str1

編一程式,將字串連線起來,不要用strcat函式.

#include <stdio.h> #include <windows.h> /* 不用 strcat 將兩個字串連線起來 */ //寫一個這樣的函式 void Strcat(char* current, const char* extra) { //wh

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

js中比較陣列中是否含有相同的元素,可去重,可刪除合併為新陣列

//做比較的兩個陣列 var array1 = ['a','b','c','d','e'];//陣列1 (所有人) var array2 = ['d','f','e','a','p'];//陣列2 (需要刪除的人) //臨時陣列存放 var tempArray1 = [];//臨時

mybatis中使用if標籤比較字串是否相等

今日一坑 轉自:http://www.cnblogs.com/a8457013/p/8033549.html 問題: mybatis中,if標籤,when標籤中都會有條件判斷:test;如何判斷兩個字串是否相等 解決: <if test="dy != null and

Java學習篇之怎樣比較字串

1,在程式設計中,通常比較兩個字串是否相同的表示式是“==”,但在java中不能這麼寫。在java中,用的是equals(); 例:A字串和B和字串比較: if(A.equals(B)){ } 返回true 或false. String 的equals 方法用於比較

php比較二維陣列是否相同,多維陣列

幾天前跟同事討論一個很有趣的問題,一直想寫下來結果總沒有時間,今天終於有時間了。 如題:php如何比較兩個二維陣列是否相同? 這個問題我在群裡也問了很多人,大多數就是遍歷了 有的人遍歷一次,有的人遍歷兩次。大概就是: foreach($arr1 as $k=>

shell比較 字串是否相等?

只需要一個等號吧。 #!/bin/sh var1="xxx" var2="yyy" if [ "$var1" = "$var2" ]; then echo "The same!" else echo