ARTS-第11周-190527

Algorithm
Letter Combinations of a Phone Number

Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters.

Example:
Input: “23”
Output: [“ad”, “ae”, “af”, “bd”, “be”, “bf”,“cd”, “ce”, “cf”].

座机电话的按键上面有9个数字,其中2到9的数字按键上有英文字母,例如:按键2上标记着abc,按键9上标记着 wxyz。(具体的对照表可以找个座机看看,后面的代码中也会有)。
基本思路是递归,感觉也没有什么特别的,直接上代码:

static public IList LetterCombinations(string digits)
{
    List result = new List();
    Dictionary> dic_num = new Dictionary>()
    {
        { '2',new List(){"a","b","c"}},
        { '3',new List(){"d","e","f" }},
        { '4',new List(){"g","h","i" }},
        { '5',new List(){"j","k","l" }},
        { '6',new List(){"m","n","o" }},
        { '7',new List(){"p","q","r","s" }},
        { '8',new List(){"t","u","v" }},
        { '9',new List(){"w","x","y","z"}}
    };
    if (digits.Length == 0)
    {
        return result;
    }
    else if (digits.Length == 1)
    {
        return dic_num[digits[0]];
    }
    else if (digits.Length >= 2)
    {
        List cur_list = dic_num[digits[0]];
        IList next_list = LetterCombinations(digits.Substring(1));
        for (int i = 0; i < cur_list.Count; i++)
        {
            for (int j = 0; j < next_list.Count; j++)
            {
                result.Add(cur_list[i]+ next_list[j]);
            }
        }
    }
    
    return result;
}

Review

  • 这周主要是看Jenkins的官网教程,简单的技术文章,上面的安装步骤说明很详细。

Tips&Share

  • 这个星期尝试和学习了 Jenkins,准备部署的源码是 php 代码管理工具是 perforce。Docker 下安装 Jenkins,需要使用phing还需要安装php环境和phing插件和p4插件。需要注意的还有docker中容器的时间和系统时间同步。默认安装 Jenkins,容器中的时间和系统时间不一致。
  • 最近在看极客时间-技术管理实战。在做一个新的项目或者任务的时候,需要考虑:技术选型成本,技术升级成本,问题查找成本和代码维护成本。很多时候是从负责人的角度出发,多哪个技术熟悉,或者更有信息,或者更容易上手。能实现目标就行,没有去考虑问题查找成本和代码维护成本。这也许就是我没做过大的项目,或者也做不好大项目。
  • 在技术上时间投入和产出也许和心里的预期不一致,但是要静下心来,也是常听到的“努力不一定有结果,不努力就一定没有收获”
  • 都已经到第11周了,算法一周一题,量不大,最简单的还是比较容易坚持,share和技术学习坚持有点难度。

你可能感兴趣的:(ARTS-第11周-190527)