3042。计算前缀和后缀对 I
难度:简单
主题:数组、字符串、Trie、滚动哈希、字符串匹配、哈希函数
给你一个0索引字符串数组单词。
让我们定义一个 boolean 函数 isPrefixAndSuffix,它接受两个字符串 str1 和 str2:
例如,isPrefixAndSuffix("aba", "ababa") 为 true,因为 "aba" 是 "ababa" 的前缀,也是后缀,但 isPrefixAndSuffix("abc", "abcd") 为 false。
返回一个整数,表示索引对 (i, j) 的 个数 ,使得 i
j,并且 isPrefixAndSuffix(words[i], Words[j]) 为 true。示例1:
示例2:
示例 3:
约束:
提示:
解决方案:
我们需要迭代所有索引对 (i, j),其中 i
让我们用 PHP 实现这个解决方案:3042。计算前缀和后缀对 I
<?php /** * @param String[] $words * @return Integer */ function countPrefixAndSuffixPairs($words) { ... ... ... /** * go to ./solution.php */ } /** * Function to check if str1 is both a prefix and a suffix of str2 * * @param $str1 * @param $str2 * @return bool */ function isPrefixAndSuffix($str1, $str2) { ... ... ... /** * go to ./solution.php */ } // Example Test Cases $words1 = ["a", "aba", "ababa", "aa"]; $words2 = ["pa", "papa", "ma", "mama"]; $words3 = ["abab", "ab"]; echo countPrefixAndSuffixPairs($words1) . "\n"; // Output: 4 echo countPrefixAndSuffixPairs($words2) . "\n"; // Output: 2 echo countPrefixAndSuffixPairs($words3) . "\n"; // Output: 0 ?>
countPrefixAndSuffixPairs($words):
isPrefixAndSuffix($str1, $str2):
对于给定的输入数组:
该解决方案应该在给定的限制内有效地工作。
联系链接
如果您发现本系列有帮助,请考虑在 GitHub 上给 存储库 一个星号或在您最喜欢的社交网络上分享该帖子?。您的支持对我来说意义重大!
如果您想要更多类似的有用内容,请随时关注我:
前缀 字符串的前缀是从字符串开头开始延伸到字符串中任意点的子字符串。 ↩
后缀 字符串的后缀是从字符串中的任意点开始并延伸到其末尾的子字符串。 ↩
以上是计算前缀和后缀对 I的详细内容。更多信息请关注PHP中文网其他相关文章!