Leecode刷题之路第17天之电话号码的字母组合

题目出处

17-电话号码的字母组合-题目出处

题目描述

在这里插入图片描述

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

17-电话号码的字母组合-官方解法

方法1:回溯

思路:

在这里插入图片描述
在这里插入图片描述

代码示例:(Java)

 List<String> combinations = new ArrayList<String>();
        if (digits.length() == 0) {
            return combinations;
        }
        Map<Character, String> phoneMap = new HashMap<Character, String>() {{
            put('2', "abc");
            put('3', "def");
            put('4', "ghi");
            put('5', "jkl");
            put('6', "mno");
            put('7', "pqrs");
            put('8', "tuv");
            put('9', "wxyz");
        }};
        backtrack(combinations, phoneMap, digits, 0, new StringBuffer());
        return combinations;
    }

    public void backtrack(List<String> combinations, Map<Character, String> phoneMap, String digits, int index, StringBuffer combination) {
        if (index == digits.length()) {
            combinations.add(combination.toString());
        } else {
            char digit = digits.charAt(index);
            String letters = phoneMap.get(digit);
            int lettersCount = letters.length();
            for (int i = 0; i < lettersCount; i++) {
                combination.append(letters.charAt(i));
                backtrack(combinations, phoneMap, digits, index + 1, combination);
                combination.deleteCharAt(index);
            }
        }
    }

复杂度分析

在这里插入图片描述

考察知识点

收获

1.多张图图片垂直拼接为一张
1)在线网址

图片拼接

2.多张图片转为gif动图

1)方法

在这里插入图片描述


2)参考文章

这6个免费GIF合成工具,值得收藏!


3) 实战-完全免费

实战链接

在这里插入图片描述

Gitee源码位置

17-电话号码的字母组合-源码

同名文章,已同步发表于CSDN,个人网站,公众号

对于LeetCode,我可以提供一些指导和建议。LeetCode是一个非常受欢迎的在线编程平台,提供了大量的编程目,涵盖各种算法和数据结构的知识点。 要有效地LeetCode目,以下是一些建议: 1. 熟悉常见的数据结构和算法:在开始之前,你需要对常见的数据结构(如数组、链表、栈、队列、树等)和算法(如排序、查找、递归、动态规划等)有一定的了解。 2. 顺序:可以按照目的难度或者类型进行。刚开始可以选择一些简单的目,逐渐提升到中等和困难难度的目。另外,可以按照目类型进行分类,比如数组、链表、树等。 3. 目分析:在开始解之前,仔细阅读目,并理解问的要求。可以考虑一些边界情况和特殊情况。 4. 设计合适的解决方案:根据目要求,设计出符合要求的解决方案。可以先在纸上画图或者写伪代码,再实现代码。 5. 编写高质量的代码:编写代码时,注意代码的可读性、可维护性和效率。可以考虑使用适当的数据结构和算法来优化代码。 6. 调试和测试:编写完代码后,进行调试和测试,确保代码能够正确地解决问。 7. 多解法比较:对于一道目,可以尝试不同的解法,比较它们的优劣,并分析其时间复杂度和空间复杂度。 8. 学习他人的解法:在过程中,可以参考他人的解和代码,并学习其中的优秀之处。 9. 计划:可以制定一个计划,每天或每周一定数量的目,并坚持下去。 10. 总结和复习:在过程中,及时总结自己的思考和解过程,对于一些常见的算法和技巧进行复习和加深理解。 希望以上的建议对你有所帮助。祝你在LeetCode中取得好成绩!如果你有其他问,也欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值