2026-06-01 16:12:21 +08:00
|
|
|
#+PROPERTY: STUDY_DECK_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 1079. Letter Tile Possibilities :medium:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*1079. Letter Tile Possibilities][1079. Letter Tile Possibilities]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
You have ~n~ ~tiles~, where each tile has one letter ~tiles[i]~ printed on it.
|
|
|
|
|
|
|
|
|
|
Return /the number of possible non-empty sequences of letters/ you can make using the letters printed on those ~tiles~.
|
|
|
|
|
|
|
|
|
|
*Example 1:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: tiles = "AAB"
|
|
|
|
|
Output: 8
|
|
|
|
|
Explanation: The possible sequences are "A", "B", "AA", "AB", "BA", "AAB", "ABA", "BAA".
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Example 2:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: tiles = "AAABBC"
|
|
|
|
|
Output: 188
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Example 3:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: tiles = "V"
|
|
|
|
|
Output: 1
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Constraints:*
|
|
|
|
|
|
|
|
|
|
- ~1 <= tiles.length <= 7~
|
|
|
|
|
|
|
|
|
|
- ~tiles~ consists of uppercase English letters.
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
|
|
|
|
#+begin_src python
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def numTilePossibilities(self, tiles: str) -> int:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-01 02:33:30 +08:00
|
|
|
#+begin_src cpp
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
int numTilePossibilities(string tiles) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|