zoukankan      html  css  js  c++  java
  • leetcode 1309. Decrypt String from Alphabet to Integer Mapping

    Given a string s formed by digits ('0' - '9') and '#' . We want to map s to English lowercase characters as follows:

    • Characters ('a' to 'i') are represented by ('1' to '9') respectively.
    • Characters ('j' to 'z') are represented by ('10#' to '26#') respectively. 

    Return the string formed after mapping.

    It's guaranteed that a unique mapping will always exist.

    Example 1:

    Input: s = "10#11#12"
    Output: "jkab"
    Explanation: "j" -> "10#" , "k" -> "11#" , "a" -> "1" , "b" -> "2".
    

    Example 2:

    Input: s = "1326#"
    Output: "acz"
    

    Example 3:

    Input: s = "25#"
    Output: "y"
    

    Example 4:

    Input: s = "12345678910#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#"
    Output: "abcdefghijklmnopqrstuvwxyz"
    

    Constraints:

    • 1 <= s.length <= 1000
    • s[i] only contains digits letters ('0'-'9') and '#' letter.
    • s will be valid string such that mapping is always possible.

    思路:判断一个数字字符应该转为$a-j$的字符还是应该和后一位数字字符结合转为$j-z$,应该看第三位字符,如果是$#$,则需要将其和后一位字符结合。

    C++:

     1 class Solution {
     2 public:
     3     string freqAlphabets(string s) {
     4         string ans;
     5         for (int i = 0; i < s.length(); ++i) {
     6             int num = s[i] - '0';
     7             if (i + 2 < s.length() && (s[i + 2] == '#')) {
     8                 num = num * 10 + (s[i + 1] - '0');
     9                 i += 2;
    10             }
    11             ans.push_back('a' + num - 1);
    12         }
    13         return ans;
    14     }
    15 };

    python3:

    1 import re
    2 class Solution:
    3     def freqAlphabets(self, s: str) -> str:
    4         return ''.join([chr(int(i[:2]) + 96) for i in re.findall(r'dd#|d', s)])
  • 相关阅读:
    维度穿梭
    演绎与抽象
    幻想的功能
    深层探宝
    内存游戏
    函数内功
    共享与私有的变量
    参数的格式
    功能模拟与功能实现
    【Oracle】基础知识查漏补缺
  • 原文地址:https://www.cnblogs.com/qinduanyinghua/p/12158089.html
Copyright © 2011-2022 走看看