算法 第25天 回溯2

216 组合总和III

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:
只使用数字1到9;每个数字 最多使用一次 ;
返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

def combineSum3(k:int,n:int)->'ListList[int]'
	result=[]
def backtracking(targetSum,k,currentSum,startIndex,path,result):
	if currentSum>targetSum:
		return
	if len(path)==k:
		if currentSum==targetSum:
			result.append(path[:])
		return 
	for i in range(startIndes,9-(k-len(path))+2):
		currentSum+=i
		path.append(i)
		backtracking(targetSum,k,currentSum,i+1,path,result)
		currentSum-=i
		path.pop()

17 电话号码的字母组合

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

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

在这里插入图片描述

思路

根据index获取digits中的一个digit,根据digit作索引找到letterMap对应letters,遍历(取一个letter,递归第二个digit…直到digits全部对应,加入到result中)

letterMap=['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']
def backtracking(digits,index):
	if index==len(digits):
		result.append(s)
		return 
	digit=int(digits[index])
	letters=letterMap[digit]
	for i in range(len(letters)):
		s+=letters[i]
		backtracking(digits,index+1)
		s=s[:-1]
		
def letterCombinations(digits:'str')->'List[str]':
	result=[]
	s=''
	if len(digits)=0:
		return []
	backtracking(digits,index=0)
	return result
	
  
	

相关推荐

  1. 算法 24 回溯1

    2024-04-02 21:40:01       35 阅读
  2. 代码随想录算法训练营25|回溯

    2024-04-02 21:40:01       39 阅读
  3. 代码随想录算法训练营28|回溯

    2024-04-02 21:40:01       32 阅读
  4. 代码随想录算法训练营27|回溯

    2024-04-02 21:40:01       32 阅读
  5. 代码随想录算法训练营29|回溯

    2024-04-02 21:40:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 21:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 21:40:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 21:40:01       82 阅读
  4. Python语言-面向对象

    2024-04-02 21:40:01       91 阅读

热门阅读

  1. ARM_02-光控灯

    2024-04-02 21:40:01       31 阅读
  2. 【力扣】45.跳跃游戏Ⅱ

    2024-04-02 21:40:01       30 阅读
  3. NAT协议

    NAT协议

    2024-04-02 21:40:01      35 阅读
  4. 蓝桥杯刷题_day10

    2024-04-02 21:40:01       37 阅读
  5. python数据类型内置方法(部分明天补充)

    2024-04-02 21:40:01       39 阅读
  6. C语言中输入函数scanf与gets得区别

    2024-04-02 21:40:01       35 阅读
  7. Qt之QCollator字符串排序

    2024-04-02 21:40:01       37 阅读