leetcode 面試題 16 18 模式匹配

2021-10-08 01:23:46 字數 1449 閱讀 4943

pattern中的ab看成兩個不同的字串。字串value看成xayb按照pattern的模式組合起來的字串。把所有的這些可能算出來看能不能湊成value

先計算滿足a*x+b*y=c的所有(x,y)vpc表示value的大小。

然後對vp進行遍歷,看能不能湊成value

測試的資料中,有各種特殊樣例。例如:pattern或者value為空的情況;pattern中a或b的個數為0的情況。把這些情況都考慮進去就過了。

class

solution

else

}for

(int x =

0; x*a <= c ; x ++

)return ret;

}bool

patternmatching

(string pattern, string value)

// value為空的情況

if(value.

size()

==0)if

(flag[0]

==0||flag[1]

==0)return

true

;else

return

false

;// pattern為空的情況

if(pattern.

size()

==0)return

false

; vectorint,

int>> vp;

// a或者b的個數為空,但是另乙個個數不能整除c的情況

vp =

vpii

(flag[0]

, flag[1]

, value.

size()

);if(vp.

empty()

)return

false

;for

(auto

& i: vp)

for(

auto

& i: vp)

else

} cout << a << endl;

}else

else

} cout << b << endl;}}

if(f)

return

true;}

return

false;}

};

LeetCode面試題 16 18 模式匹配

同步儲存一下。這還叫中等難度?再次照題解 分類討論 1.pattern為空,則只有value為空時為true,否則false 2.當value為空時,如果pattern中既有a也有b則為false,否則為true 3.當二者都不為空,如果pattern只有a或者只有b,如果value能整除patte...

Leetcode 面試題 16 18 模式匹配

你有兩個字串,即pattern和value。pattern字串由字母 a 和 b 組成,用於描述字串中的模式。例如,字串 catcatgocatgo 匹配模式 aabab 其中 cat 是 a go 是 b 該字串也匹配像 a ab 和 b 這樣的模式。但需注意 a 和 b 不能同時表示相同的字串。...

LeetCode面試題 16 18 模式匹配

你有兩個字串,即pattern和value。pattern字串由字母 a 和 b 組成,用於描述字串中的模式。例如,字串 catcatgocatgo 匹配模式 aabab 其中 cat 是 a go 是 b 該字串也匹配像 a ab 和 b 這樣的模式。但需注意 a 和 b 不能同時表示相同的字串。...