leetcode1079. 活字印刷(回溯)
你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。
注意:本题中,每个活字字模只能使用一次。
示例 1:
输入:“AAB”
输出:8
解释:可能的序列为 “A”, “B”, “AA”, “AB”, “BA”, “AAB”, “ABA”, “BAA”。
代码
class Solution {int n,ans=0;public int numTilePossibilities(String tiles) {n=tiles.length();Map<Character,Integer> map=new HashMap<>();for(char c:tiles.toCharArray()) map.put(c,map.getOrDefault(c,0)+1);//统计可用字母numTile(map,0);return ans-1;}public void numTile(Map<Character,Integer> map,int level) {ans++;if(level==n) return;for (char c:map.keySet())//可选择的字母{if(map.get(c)<1) continue;//没有剩下的了map.put(c,map.get(c)-1);numTile(map, level+1);map.put(c,map.get(c)+1);//回溯}}
}
leetcode1079. 活字印刷(回溯)相关推荐
- c# leetcode1079. 活字印刷(回溯算法)
你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i].返回你可以印出的非空字母序列的数目.示例 1:输入:"AAB" 输出:8 解释:可能的序列为 &quo ...
- leetcode1079.活字印刷C++
链接: https://leetcode-cn.com/problems/letter-tile-possibilities/ 描述: 示例: 代码: class Solution {public:v ...
- LeetCode1079题:活字印刷——Python递归与迭代解法
1. LeetCode1079题:活字印刷 你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i].返回你可以印出的非空字母序列的数目. 注意:本题中,每个活字字模只能使用一次. ...
- 高级数据结构与算法 | 回溯算法(Back Tracking Method)
文章目录 回溯 电话号码的字母组合 二进制手表 组合总数 全排列 活字印刷 N皇后 N皇后II 回溯 回溯是一种通过穷举所有可能情况来找到所有解的算法.如果一个候选解最后被发现并不是可行解,回溯算法会 ...
- ZJYYOJ 活字印刷(dfs)[C,C++]
目录 题目及翻译 题面 输入 输出 输入样例 输出样例 提示 题目思路 注意事项 AC代码 C/C++(几乎没有代码变更) 题目及翻译 题面 活字印刷术是中国古代四大发明之一,今天我们要试着用计算机实 ...
- 递归和回溯相关面试算法总结
文章目录 递归面试算法总结 1. LeetCode 剑指 Offer 07 : 重建二叉树 2. LeetCode 687 : 最长同值路径 3. LeetCode 面试题 08.06 : 汉诺塔问题 ...
- Leetcode.1079 活字印刷
题目链接 Leetcode.1079 活字印刷 Rating : 1741 题目描述 你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i].返回你可以印出的非空字母序列的数目. ...
- 通用解题法——回溯算法(理解+练习)
积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...
- 算法设计与分析第5章 回溯法(二)【回溯法应用】
第5章 回溯法 5.2 应用范例 1.0-1背包问题 有n件物品和一个容量为c的背包.第i件物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和 ...
最新文章
- [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
- springcloud全局过滤_微服务技术SpringCloud 互联网网站架构演变过程
- java中哪个是main函数的合法参数,Java试卷及答案
- c语言编译错误 原文,C语言常见错误与警告
- zookeeper启动失败
- 大牛滴今天就是我滴明天
- Python之数据分析(算数平均值、加权平均值、最大值与最小值)
- 基于Vue2.0+Vuex+Axios+NodeJs+Express+MySQL实现京东移动web商城
- b级计算机机房标准,B级电子信息系统机房技术要求国标GB50174–2008
- 【眼底图像数据集】视杯 视盘分割
- Python tkinter的简单使用,在绘布上播放GIF和图片
- ieg技术总监_干货!从程序员到技术总监,大牛内部分享的资料
- 这才是2019年最新资料!
- 阿里,京东,蚂蚁面试题
- 用CH340给STM32C8T6和野火stm32F103Mini板下载程序需要注意的三个问题
- Win11怎么打开3D查看器
- 淘宝天猫商家运营,运营能力提升,淘宝竞争对手的分析,如何学习对手的优势运营方法
- 自学java多久可以工作_自学java,学多久可以自己找到工作?
- Qt QImage与OpenCV Mat转换
- 基于springboot高考填报志愿综合参考系统设计与实现-计算机毕业设计源码+LW文档