mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 13:12:44 +00:00
docs(content): add 290 Word Pattern page and fix String badge count
This commit is contained in:
1 parent
017f111594
commit
3e62d6fa6f
2 files changed
+58
-1
No files matched your search
@@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
title: '290. Word Pattern'
|
||||||
|
description: Given a pattern and a string s, find if s follows the same pattern
|
||||||
|
icon: dot
|
||||||
|
topics:
|
||||||
|
- { name: "Hash Table", slug: "hash-table" }
|
||||||
|
- { name: "String", slug: "string" }
|
||||||
|
issue: "https://github.com/prdlk/leetcode/issues/35"
|
||||||
|
sidebar:
|
||||||
|
label: 'Word Pattern'
|
||||||
|
badge: 'Easy'
|
||||||
|
---
|
||||||
|
|
||||||
|
### Example 1:
|
||||||
|
- Input: `pattern = "abba", s = "dog cat cat dog"`
|
||||||
|
- Output: `true`
|
||||||
|
- Explanation: The bijection can be established as: • 'a' maps to "dog". • 'b' maps to "cat".
|
||||||
|
|
||||||
|
### Example 2:
|
||||||
|
- Input: `pattern = "abba", s = "dog cat cat fish"`
|
||||||
|
- Output: `false`
|
||||||
|
|
||||||
|
### Example 3:
|
||||||
|
- Input: `pattern = "aaaa", s = "dog cat cat dog"`
|
||||||
|
- Output: `false`
|
||||||
|
|
||||||
|
### Constraints:
|
||||||
|
|
||||||
|
- `1 <= pattern.length <= 300`
|
||||||
|
- `pattern` contains only lower-case English letters.
|
||||||
|
- `1 <= s.length <= 3000`
|
||||||
|
- `s` contains only lowercase English letters and spaces ' '.
|
||||||
|
- `s` does not contain any leading or trailing spaces.
|
||||||
|
- All the words in `s` are separated by a single space.
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
```py
|
||||||
|
class Solution:
|
||||||
|
def wordPattern(self, pattern: str, s: str) -> bool:
|
||||||
|
if len(pattern) != len(s.split()):
|
||||||
|
return False
|
||||||
|
|
||||||
|
words = s.split()
|
||||||
|
map = {}
|
||||||
|
|
||||||
|
for i in range(len(pattern)):
|
||||||
|
c = pattern[i]
|
||||||
|
w = words[i]
|
||||||
|
|
||||||
|
if c in map and map[c] != w:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
map[c] = w
|
||||||
|
|
||||||
|
return len(set(pattern)) == len(set(words))
|
||||||
|
```
|
||||||
@@ -3,7 +3,7 @@ title: "String"
|
|||||||
list: "https://leetcode.com/problem-list/string/"
|
list: "https://leetcode.com/problem-list/string/"
|
||||||
icon: quote
|
icon: quote
|
||||||
sidebar:
|
sidebar:
|
||||||
badge: '17'
|
badge: '18'
|
||||||
---
|
---
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|||||||
Reference in new issue
Block a user