LeetCode 2744.最大字符串配對(duì)數(shù)目
官方難度
簡(jiǎn)單
題目描述
給你一個(gè)下標(biāo)從 0 開(kāi)始的數(shù)組 words ,數(shù)組中包含 互不相同 的字符串。
如果字符串 words[i] 與字符串 words[j] 滿(mǎn)足以下條件,我們稱(chēng)它們可以匹配:
- 字符串 words[i] 等于 words[j] 的反轉(zhuǎn)字符串。
- 0 <= i < j < words.length
請(qǐng)你返回?cái)?shù)組 words 中的 最大 匹配數(shù)目。
注意,每個(gè)字符串最多匹配一次
示例
示例 1:
輸入:words = ["cd","ac","dc","ca","zz"]
輸出:2
解釋?zhuān)涸诖耸纠?,我們可以通過(guò)以下方式匹配 2 對(duì)字符串:
- 我們將第 0 個(gè)字符串與第 2 個(gè)字符串匹配,因?yàn)?word[0] 的反轉(zhuǎn)字符串是 "dc" 并且等于 words[2]。
- 我們將第 1 個(gè)字符串與第 3 個(gè)字符串匹配,因?yàn)?word[1] 的反轉(zhuǎn)字符串是 "ca" 并且等于 words[3]。
可以證明最多匹配數(shù)目是 2 。
示例 2:
輸入:words = ["ab","ba","cc"]
輸出:1
解釋?zhuān)涸诖耸纠?,我們可以通過(guò)以下方式匹配 1 對(duì)字符串:
- 我們將第 0 個(gè)字符串與第 1 個(gè)字符串匹配,因?yàn)?words[1] 的反轉(zhuǎn)字符串 "ab" 與 words[0] 相等。
可以證明最多匹配數(shù)目是 1 。
示例 3:
輸入:words = ["aa","ab"]
輸出:0
解釋?zhuān)哼@個(gè)例子中,無(wú)法匹配任何字符串。
提示
- 1 <= words.length <= 50
- words[i].length == 2
- words 包含的字符串互不相同。
- words[i] 只包含小寫(xiě)英文字母。
個(gè)人解法
這簡(jiǎn)單題目沒(méi)什么,就了解一下reverse()和reversed()的區(qū)別:
reverse()
- 對(duì)列表進(jìn)行反轉(zhuǎn)
- 直接在原列表操作,無(wú)參數(shù),無(wú)返回值
- list_a.reverse()
reversed()
- 可反轉(zhuǎn)列表、字符串、元組、range
- reversed(test),返回一個(gè)迭代器
- result = list(reversed(test))
class Solution:
def maximumNumberOfStringPairs(self, words: List[str]) -> int:
count = 0
for i in range(len(words) - 1):
for j in range(i + 1, len(words), 1):
if list(words[i]) == list(reversed(words[j])):
count += 1
return count