首页 > 其他分享 >17、电话号码的数字组合

17、电话号码的数字组合

时间:2024-02-05 10:45:56浏览次数:29  
标签:index 17 组合 res phoneMap str 电话号码 put sb

 

class Solution {
private final Map<Character, String> phoneMap = new HashMap<Character, String>();

public void init() {
phoneMap.put('2', "abc");
phoneMap.put('3', "def");
phoneMap.put('4', "ghi");
phoneMap.put('5', "jkl");
phoneMap.put('6', "mno");
phoneMap.put('7', "pqrs");
phoneMap.put('8', "tuv");
phoneMap.put('9', "wxyz");
}

public List<String> letterCombinations(String str) {
List<String> res = new ArrayList<String>();
if (str.length() == 0) {
return res;
}
init();
backtrack(res, phoneMap, str, 0, new StringBuffer());
return res;
}

public void backtrack(List<String> res, Map<Character, String> phoneMap, String str, int index, StringBuffer sb) {
if (index == str.length()) {
res.add(sb.toString());
return;
}
String letters = phoneMap.get(str.charAt(index));
int lettersCount = letters.length();
for (int i = 0; i < lettersCount; i++) {
sb.append(letters.charAt(i));
backtrack(res, phoneMap, str, index + 1, sb);
sb.deleteCharAt(index);
}
}
}

标签:index,17,组合,res,phoneMap,str,电话号码,put,sb
From: https://www.cnblogs.com/MarkLeeBYR/p/18007531

相关文章

  • Luogu P5173 传球
    题目传送门SubTask\(1.1\),8pts首先,我们可以推出一个极为简单的dp转移方程:\[f_{i,j}=f_{i-1,j-1}+f_{i-1,j+1}\]\(f_{i,j}\)表示当前秒数为\(i\),球在\(j\)手上的方案数量。时间复杂度/空间复杂度:\(O(nm)\),肯定不能通过此题。其实这个就是P1057NOIP2008普及组传球......
  • [ARC171B] Chmax
    [ARC171B]ChmaxSolution首先可以发现相同\(a_{i}\)的元素可以形成一条链。问题很容易转化为:给定若干线段\([l_{i},r_{i}]\),要求\(i\)能连向\(j\)当且仅当\(l_{j}<r_{i}\),求生成环集的数量。容易发现两个点之间至少有一条边,当且仅当两线段不交时,左侧线段无法连向右......
  • VMware vSphere Foundation (VVF) - 企业级工作负载平台组合解决方案
    VMwarevSphereFoundation(VVF)-企业级工作负载平台组合解决方案TheEnterpriseWorkloadPlatform请访问原文链接:https://sysin.org/blog/vmware-vsphere-foundation/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarebyBroadcom产品组合:VMwareCloud......
  • VMware Cloud Foundation (VCF) - 多云全栈基础架构组合解决方案
    VMwareCloudFoundation(VCF)-多云全栈基础架构组合解决方案fullstackinfrastructurewithaplatform请访问原文链接:https://sysin.org/blog/vmware-cloud-foundation/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarebyBroadcom产品组合:VMwareCl......
  • Codeforces Round 917 (Div. 2)
    https://codeforces.com/contest/1917A.LeastProduct*800给定整数数组,可以把数组中的数\(a_i\)改为\(0\sima_i\)中的任意整数,最小化所有数的乘积,在此基础上使操作次数最少讨论一下负数的个数和\(0\)的个数#include<bits/stdc++.h>usingnamespacestd;usingll......
  • 组合数学基础
    隔板法\(X_1+X_2+...+X_n=m,\quadX_i>=0\)\(求方程解的个数\)\(m个球插入n-1个板将m个球分成n份\)\(方程解的个数(^{n+m-1}_{m})\)如果要求每份球的个数都大于1该怎么做?\(X_1+X_2+...+X_n=m,\quadX_i>=1\)\(求方程解的个数\)\(令X^{'}=X_1-1,X^{'}>=0,\)\(X_1+X_2+......
  • leetcode 第176题:第二高的薪水
    leetcode数据库第176题:第二高的薪水第一种:去掉最大的薪水,选取第二大的薪水selectmax(salary)asSecondHighestSalaryfromEmployeewheresalary<(selectmax(salary)fromEmployee);第二种:嵌套查询+去除null+去重要想获取第二高,需要排序,使用orderby(默认是升序a......
  • CF1730F Almost Sorted
    更好的阅读体验CF1730FAlmostSorted挺有意思的一道题。刚看到可能有好几种思路,按照\(p\)的大小填\(q\),或者按照下标顺序填等等。试了几次之后考虑按照\(i\)从小到大填入\(q_i\),设\(pos\)为当前填了的最大的\(p_{q_i}\),由于题目的要求,\(1\sim(pos-m-1)\)的所有数......
  • 2024/01/17
    编写一个简单的登录界面<html><head><title>JSP-HelloWorld</title></head><bodybackground="imagine/鸡哥头.jpg"style="background-repeat:no-repeat;background-attachment:fixed;background-size:100%100%">......
  • [THUSCH2017] 巧克力
    [THUSCH2017]巧克力题目描述「人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道。」明明收到了一大块巧克力,里面有若干小块,排成\(n\)行\(m\)列。每一小块都有自己特别的图案,它们有的是海星,有的是贝壳,有的是海螺……其中还有一些因为挤压,已经分辨不出是什么图案了。......