LeetCode 1079. 活字印刷(全排列回溯)

文章目录

    • 1. 题目
    • 2. 解题

类似题目 78 子集、 90 子集 II

1. 题目

你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。

示例 1:输入:"AAB"
输出:8
解释:可能的序列为 "A", "B", "AA", "AB", "BA", "AAB", "ABA", "BAA"。
示例 2:输入:"AAABBC"
输出:188

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-tile-possibilities
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 回溯,按照字符串长度sublen从1到n,分别进行n次回溯
  • 每次回溯退出条件:字符长度达到sublen
  • 避开重复:后面跟left相同的字符跳过,不同的字符与left位置字符交换
  • 下一次递归时,left+1,curlen+1

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

class Solution {
public:int numTilePossibilities(string tiles) {int kinds = 0;sort(tiles.begin(), tiles.end());for(int sublen = 1; sublen <= tiles.size(); ++sublen){bt(tiles,kinds,0,tiles.size()-1,sublen,0);}       return kinds;}void bt(string tiles, int &kinds, int left, int right, int sublen, int curlen){if(curlen == sublen)++kinds;else{for(int i = left; i <= right; ++i){if(i > left && tiles[i] == tiles[left])continue;swap(tiles[left],tiles[i]);bt(tiles,kinds,left+1,right,sublen,curlen+1);}}  	}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EdgeBERT:极限压缩,比ALBERT再轻13倍!树莓派上跑BERT的日子要来了?

文 | Sheryc_王苏本文首发于NLP宝藏公号【夕小瑶的卖萌屋】&#xff0c;疯狂暗示&#xff01;这个世界上有两种极具难度的工程&#xff1a;第一种是把很平常的东西做到最大&#xff0c;例如把语言模型扩大成能够写诗写文写代码的GPT-3&#xff1b;而另一种恰恰相反&#xff0c;…

论文浅尝 | 用于开放领域的问题生成

作者 | 黄焱晖单位 | 东南大学硕士研究方向 | 自然语言处理&#xff0c;知识图谱Learning to AskQuestions in Open-domain Conversational Systems with Typed Decoders动机本文的问题生成用于开放领域的问题生成&#xff0c;与传统的问题生成不同的是&#xff0c;在开放领域对…

Android官方开发文档Training系列课程中文版:构建第一款安卓应用之创建用户界面

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/firstapp/building-ui.html 在这节课中&#xff0c;你会创建一个xml的布局文件&#xff0c;它包含一个Text成员和一个Button成员。在下节课中&#xff0c;你会学习到当Button按下后启动并发送Text成员的内容…

字节码增强技术探索

1.字节码 1.1 什么是字节码&#xff1f; Java之所以可以“一次编译&#xff0c;到处运行”&#xff0c;一是因为JVM针对各种操作系统、平台都进行了定制&#xff0c;二是因为无论在什么平台&#xff0c;都可以编译生成固定格式的字节码&#xff08;.class文件&#xff09;供JVM…

LeetCode 1137. 第 N 个泰波那契数

文章目录1. 题目2. 解题1. 题目 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&#xff1a;输入&#xff1a;n 4 输出&#xff1a;4 解释&#…

Calibration: 一个工业价值极大,学术界却鲜有研究的问题!

文 | kid丶(知乎作者)编 | 夕小瑶尽管深度学习给工业界带来了一波上线春天&#xff0c;但是总有很多比较难的业务&#xff0c;模型反复迭代后准确率依然达不到预期的产品标准&#xff0c;难以满足用户期望。以下为工业界常见讨&#xff08;si&#xff09;论&#xff08;b&#…

肖仰华 | 大规模、高质量的金融知识图谱,如何自动化构建?

本文转载自公众号&#xff1a;恒生技术之眼。◆本文根据2019恒生技术开放日肖仰华教授演讲整理◆肖仰华&#xff1a;复旦大学教授、博士生导师&#xff0c;复旦大学知识工场实验室创始人。知识图谱&#xff08;Knowledge Graph, KG&#xff09;本质上是一种大规模语义网络&…

Android官方开发文档Training系列课程中文版:构建第一款安卓应用之启动另一个Activity

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/firstapp/starting-activity.html#CreateActivity 在完成了上一节课之后&#xff0c;你有了一个带有输入框和按钮的单屏幕Activity。在这节课中&#xff0c;你将会在MyActivity中添加一些代码&#xff0c;以…

美团点评Kubernetes集群管理实践

背景 作为国内领先的生活服务平台&#xff0c;美团点评很多业务都具有非常显著、规律的”高峰“和”低谷“特征。尤其遇到节假日或促销活动&#xff0c;流量还会在短时间内出现爆发式的增长。这对集群中心的资源弹性和可用性有非常高的要求&#xff0c;同时也会使系统在支撑业务…

论文浅尝 | 基于知识图谱 Embedding 的问答

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识图谱问答。来源&#xff1a;WSDM 2019链接&#xff1a;https://dl.acm.org/citation.cfm?doid3289600.3290956目前知识图谱问答&#xff08;本文简写为QA-KG&#xff0c;question answeri…

NeurIPS 2020 | 没有乘法的神经网络,照样起飞?

文&#xff1a;苏剑林编&#xff1a;兔子酱单位&#xff1a;追一科技今天给大家介绍一篇1962年的论文《Computer Multiplication and Division Using Binary Logarithms》[1]&#xff0c;作者是John N. Mitchell&#xff0c;他在里边提出了一个相当有意思的算法&#xff1a;在二…

LeetCode 1160. 拼写单词

文章目录1. 题目2. 解题1. 题目 给你一份『词汇表』&#xff08;字符串数组&#xff09; words 和一张『字母表』&#xff08;字符串&#xff09; chars。 假如你可以用 chars 中的『字母』&#xff08;字符&#xff09;拼写出 words 中的某个『单词』&#xff08;字符串&…

MTFlexbox自动化埋点探索

1. 背景 跨平台动态化技术是目前移动互联网领域的重点关注方向&#xff0c;它既能节约人力&#xff0c;又能实现业务快速上线的需求。经过十年的发展&#xff0c;美团App已经变成了一个承载众多业务的超级平台&#xff0c;众多的业务方对业务形态的快速迭代和更新提出了越来越高…

Android官方开发文档Training系列课程中文版:添加ActionBar之设置ActionBar

导言- 添加ActionBar 原文地址&#xff1a;http://android.xsoftlab.net/training/basics/actionbar/index.html ActionBar是很多重要的特性之一&#xff0c;你可以用它实现用户的自定义行为。它提供了若干的用户界面特性&#xff0c;以便你的应用可以很快的提供与其它应用很…

论文浅尝 | 具有图卷积网络和顺序注意力机制的应用于目标导向的对话系统

论文笔记整理&#xff1a;吴涵&#xff0c;天津大学硕士&#xff0c;研究方向&#xff1a;自然语言处理。来源&#xff1a;2019 Association for Computational Linguistics论文链接&#xff1a;https://www.mitpressjournals.org/doi/full/10.1162/tacl_a_00284开放源码&#…

Docker的基本使用(部署python项目)+两个奇技淫巧,将 Docker 镜像体积减小 99%

两个奇技淫巧&#xff0c;将 Docker 镜像体积减小 99% 使用Docker运行程序 Docker的基本使用(部署python项目) 一、准备项目 我写的是一个爬取某ppt网站的代码&#xff0c;就一个ppt1.py是爬虫&#xff0c;然后&#xff0c;ppts是存放下载的ppt的 二、准备requirement.txt文件…

Pytorch与Tensorflow,哪个更适合你?

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

LeetCode 500. 键盘行

文章目录1. 题目2. 解题1. 题目 给定一个单词列表&#xff0c;只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例&#xff1a; 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", &quo…

XGBoost缺失值引发的问题及其深度分析

1. 背景 XGBoost模型作为机器学习中的一大“杀器”&#xff0c;被广泛应用于数据科学竞赛和工业领域&#xff0c;XGBoost官方也提供了可运行于各种平台和环境的对应代码&#xff0c;如适用于Spark分布式训练的XGBoost on Spark。然而&#xff0c;在XGBoost on Spark的官方实现中…

Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/adding-buttons.html 添加Action按钮 ActionBar允许在当前的APP上下文内添加很多重要的功能按钮。这样便可以通过图标或者文字作为功能按钮直接展示在ActionBar上。功能按钮如果没有足够空间或无足轻重的按…