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; + } +};