From e9f240d2e41649674e4ecdb4542ac3ffcc88d71a Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Mon, 17 Feb 2025 19:16:42 +0530 Subject: [PATCH] Create 1079. Letter Tile Possibilities --- 1079. Letter Tile Possibilities | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 1079. Letter Tile Possibilities diff --git a/1079. Letter Tile Possibilities b/1079. Letter Tile Possibilities new file mode 100644 index 0000000..1e5257f --- /dev/null +++ b/1079. Letter Tile Possibilities @@ -0,0 +1,28 @@ +class Solution { +public: + void count(vector &arr, int n, int &ans){ + //checks if every place is filled. + if(n <= 0) return; + //checking for letters which can be filled at nth index. + for(int i = 0; i < 26; i++){ + if(arr[i] > 0){ + // Reducing its occurence. + arr[i]--; + ans++; + count(arr, n - 1, ans); + //Restoring its occurence for furthur combination./Backtracking. + arr[i]++; + } + } + } + int numTilePossibilities(string tiles) { + vector arr(26, 0); + //Occurence count array. + for(int i = 0; i < tiles.size(); i++){ + arr[int(tiles[i]) - 65]++; + } + int ans = 0; + count(arr, tiles.size(), ans); + return ans; + } +};