From 3b81950e019c0dca7dea6a3219d889710f04f818 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 3 May 2021 12:13:52 +0800 Subject: [PATCH] New Problem Solution - "1844. Replace All Digits with Characters" --- README.md | 1 + .../ReplaceAllDigitsWithCharacters.cpp | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 algorithms/cpp/replaceAllDigitsWithCharacters/ReplaceAllDigitsWithCharacters.cpp diff --git a/README.md b/README.md index 762dfd8..f9bdac0 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ LeetCode | # | Title | Solution | Difficulty | |---| ----- | -------- | ---------- | +|1844|[Replace All Digits with Characters](https://leetcode.com/problems/replace-all-digits-with-characters/) | [C++](./algorithms/cpp/replaceAllDigitsWithCharacters/ReplaceAllDigitsWithCharacters.cpp)|Easy| |1840|[Maximum Building Height](https://leetcode.com/problems/maximum-building-height/) | [C++](./algorithms/cpp/maximumBuildingHeight/MaximumBuildingHeight.cpp)|Hard| |1839|[Longest Substring Of All Vowels in Order](https://leetcode.com/problems/longest-substring-of-all-vowels-in-order/) | [C++](./algorithms/cpp/longestSubstringOfAllVowelsInOrder/LongestSubstringOfAllVowelsInOrder.cpp)|Medium| |1838|[Frequency of the Most Frequent Element](https://leetcode.com/problems/frequency-of-the-most-frequent-element/) | [C++](./algorithms/cpp/frequencyOfTheMostFrequentElement/FrequencyOfTheMostFrequentElement.cpp)|Medium| diff --git a/algorithms/cpp/replaceAllDigitsWithCharacters/ReplaceAllDigitsWithCharacters.cpp b/algorithms/cpp/replaceAllDigitsWithCharacters/ReplaceAllDigitsWithCharacters.cpp new file mode 100644 index 0000000..110031b --- /dev/null +++ b/algorithms/cpp/replaceAllDigitsWithCharacters/ReplaceAllDigitsWithCharacters.cpp @@ -0,0 +1,54 @@ +// Source : https://leetcode.com/problems/replace-all-digits-with-characters/ +// Author : Hao Chen +// Date : 2021-05-03 + +/***************************************************************************************************** + * + * You are given a 0-indexed string s that has lowercase English letters in its even indices and + * digits in its odd indices. + * + * There is a function shift(c, x), where c is a character and x is a digit, that returns the x^th + * character after c. + * + * For example, shift('a', 5) = 'f' and shift('x', 0) = 'x'. + * + * For every odd index i, you want to replace the digit s[i] with shift(s[i-1], s[i]). + * + * Return s after replacing all digits. It is guaranteed that shift(s[i-1], s[i]) will never exceed + * 'z'. + * + * Example 1: + * + * Input: s = "a1c1e1" + * Output: "abcdef" + * Explanation: The digits are replaced as follows: + * - s[1] -> shift('a',1) = 'b' + * - s[3] -> shift('c',1) = 'd' + * - s[5] -> shift('e',1) = 'f' + * + * Example 2: + * + * Input: s = "a1b2c3d4e" + * Output: "abbdcfdhe" + * Explanation: The digits are replaced as follows: + * - s[1] -> shift('a',1) = 'b' + * - s[3] -> shift('b',2) = 'd' + * - s[5] -> shift('c',3) = 'f' + * - s[7] -> shift('d',4) = 'h' + * + * Constraints: + * + * 1 <= s.length <= 100 + * s consists only of lowercase English letters and digits. + * shift(s[i-1], s[i]) <= 'z' for all odd indices i. + ******************************************************************************************************/ + +class Solution { +public: + string replaceDigits(string s) { + for(int i=0; i