首页 > 其他分享 >力扣回溯 深度优先搜索 dfs 之 17. 电话号码的字母组合

力扣回溯 深度优先搜索 dfs 之 17. 电话号码的字母组合

时间:2024-02-11 20:00:26浏览次数:34  
标签:digits index 17 temp dfs length 字母组合 new String

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:[]

示例 3:

输入:digits = "2"
输出:["a","b","c"]
    class Solution {     List<String> result = new ArrayList<>();     StringBuilder temp = new StringBuilder();     String[] stringMap = new String[]{"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv",             "wxyz"};
    public List<String> letterCombinations(String digits) {         if (digits == null || digits.length() == 0) {             return new ArrayList<>();         }         backtrack(digits, 0);         return result;
    }
    void backtrack(String digits, int index) {         if (index == digits.length()) {             result.add(temp.toString());             return;         }         int pos = digits.charAt(index) - '0';         // "abc"  "def" ...         String str = stringMap[pos];         for (int j = 0; j < str.length(); j++) {             temp.append(str.charAt(j));             backtrack(digits, index + 1);             temp.deleteCharAt(temp.length() - 1);         }
    }
}

标签:digits,index,17,temp,dfs,length,字母组合,new,String
From: https://www.cnblogs.com/JavaYuYin/p/18013485

相关文章

  • 洛谷 P1795 无穷的序列 题解
    题目传送门题目大意:给定整数\(a\),判断\(a\)是否属于数列\(1,2,4,7,11\cdots\)。多测。1.暴力枚举(90pts)不难发现,该数列除第一项外第\(n\)项比第\(n-1\)项多\(n-1\)。故暴力枚举\(n\),计算数列的每一项,判断是否与\(a\)相等,大于\(a\)就break。多测加记忆化,用mx......
  • N皇后问题拓展(DFS)
    之前用DFS模板写的N皇后问题是采用打表的形式,先把皇后放好再遍历,这样做适合N小于11的问题,写洛谷的题的时候看到了这个N是大于11的,需要新的方法来解决,打表是不适用的。P1219[USACO1.5]八皇后CheckerChallenge-洛谷|计算机科学教育新生态(luogu.com.cn)#include<iostrea......
  • 力扣回溯 深度优先搜索dfs之78. 子集
    给你一个整数数组 nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。 示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]] classSol......
  • 17-x龙
    day17x龙注意:这是其实是一个x美的点选验证。https://secure.elong.com/passport/login_cn.html?nexturl=https://www.elong.com/https://www.ishumei.com/trial/captcha.html1.必备知识点在开始逆向案例之前,先来学一些前置必备的技能。1.1动态无法调试网页定位到某个js......
  • POJ--1179 Polygon(区间DP)
    记录22:012024-2-10http://poj.org/problem?id=1179区间DP问题。区间DP问题可能需要注意的点就是是根据区间长度来计算的,随着迭代区间长度不断增加,结果也就计算出来了这种“任意选择一个位置断开,复制形成2倍长度的链”的方法,是解决DP中环形结构的常用手段之一因此读入数......
  • P4090 [USACO17DEC] Greedy Gift Takers P
    原题链接题解1.如果前\(7\)头牛能全部能拿到礼物,但是这前\(7\)头牛里有\(4\)头牛更新在前\(4\)的位置,请问第\(8\)头牛能否得到礼物?答案是不行,因为前\(4\)头牛会在前\(4\)的位置形成循环2.假如恰好第\(x\)头牛没有礼物,那么牛\(x\)之后的牛都得不到礼物,因为不......
  • QOJ 8171 - Cola
    我们假设目前B知道排列\(p\)的前\(x\)位是多少,那么下一次,B的最优策略是:对于\(i\lex\)的部分,令\(q_i=p_i\)。对于\(i=x+1\)的部分,令\(q_i\)为任一\(p_i\)可能取到但没有被猜过的值。对于\(i>x+1\),随机乱排剩余的\(q_i\)。考虑设\(c_i\)表示第\(i\)次......
  • P9170 [省选联考 2023] 填数游戏 题解
    Description众所周知,Alice和Bob是一对好朋友。今天,他们约好一起玩游戏。一开始,他们各自有一张空白的纸条。接下来,他们会在纸条上依次写\(n\)个\([1,m]\)范围内的正整数。等Alice写完,Bob在看到Alice写的纸条之后开始写他的纸条。Alice需要保证她写下的第\(i\)个......
  • CF1771F Hossam and Range Minimum Query 题解
    题目链接:CF或者洛谷比较不错的题,出现奇数次出现的这种问题,比较容易想到一种运算,那就是异或和运算。如果一个区间上一个数出现偶数次,则它对于异或和的贡献为\(0\),那么很显然,我们维护下区间异或和即可判断一个区间上是否存在出现奇数次的数。然后我们注意到\(1\oplus2\oplu......
  • CF1706E 题解
    你谷题目传送门CF题目传送门题目大意给定一个\(n\)个点\(m\)条边的无向图,询问\(q\)次,每次询问会指定两个正整数\(l,r\),问要使对于\(l\leqa\leqb\leqr\)的所有\(a,b\)均有路径可以互相到达,最少需要加入前多少条边。思路考虑到每一次询问实质上就是问你在按......