-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #370 from ThejaswinS/main
Added Smallest String With A Given Numeric Value
- Loading branch information
Showing
3 changed files
with
47 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Question Link: https://leetcode.com/problems/smallest-string-with-a-given-numeric-value/ |
28 changes: 28 additions & 0 deletions
28
LeetCode/Smallest String With A Given Numeric Value/question.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
The numeric value of a lowercase character is defined as its position (1-indexed) in the alphabet, so the numeric value of a is 1, the numeric value of b is 2, | ||
the numeric value of c is 3, and so on. | ||
|
||
The numeric value of a string consisting of lowercase characters is defined as the sum of its characters' numeric values. For example, the numeric value of the string | ||
"abe" is equal to 1 + 2 + 5 = 8. | ||
|
||
You are given two integers n and k. Return the lexicographically smallest string with length equal to n and numeric value equal to k. | ||
|
||
Note that a string x is lexicographically smaller than string y if x comes before y in dictionary order, that is, either x is a prefix of y, or if i is the first | ||
position such that x[i] != y[i], then x[i] comes before y[i] in alphabetic order. | ||
|
||
|
||
|
||
Example 1: | ||
|
||
Input: n = 3, k = 27 | ||
Output: "aay" | ||
Explanation: The numeric value of the string is 1 + 1 + 25 = 27, and it is the smallest string with such a value and length equal to 3. | ||
Example 2: | ||
|
||
Input: n = 5, k = 73 | ||
Output: "aaszz" | ||
|
||
|
||
Constraints: | ||
|
||
1 <= n <= 105 | ||
n <= k <= 26 * n |
18 changes: 18 additions & 0 deletions
18
LeetCode/Smallest String With A Given Numeric Value/solution.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
class Solution { | ||
public: | ||
string getSmallestString(int n, int k) { | ||
string s(n,'a'); //initiall assign all letters as a | ||
k=k-n; //subract count of a | ||
for(int i=n-1;i>=0;i--){ | ||
if(k>25){ //check balance k greater than 25 if it is then add 'z' at end | ||
s[i]='z'; | ||
k=k-25; | ||
} | ||
else{ //else we add the character if it is less than equal 25 | ||
s[i]=97+k; | ||
break; | ||
} | ||
} | ||
return s; | ||
} | ||
}; |