首页
题库
公司真题
专项练习
在线编程
模拟笔试
教材全解
考研真题
期末考题
精华专题
试题广场
面试
AI模拟面试
面经汇总
学习
课程
专栏 • 文章
项目实战
图书馆
技术栈
求职
校招版
社招版
讨论区
讨论区
圈子
发现
竞赛
查薪资
职业身份认证
牛人堂
牛币兑换中心
More+
所有博客
登录
/
注册
APP
企业版
首页
>
试题广场
>
字符串的排列
[编程题]字符串的排列
热度指数:759152
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
算法知识视频讲解
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
示例1
输入
"ab"
输出
["ab","ba"]
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(38)
邀请回答
收藏(3947)
分享
提交结果有问题?
1183个回答
69篇题解
开通博客
牛客题霸
发表于 2020-06-01 14:59:26
精华题解
描述 这是一篇针对初学者的题解,用递归方法解决。知识点:字符串,递归,回溯难度:一星 题解 题目抽象:给定一个字符串,求该字符串的全排列。 方法:递归法 如图: 如图所示的全排列可以发现,对于这个排列,我们是固定A不动,然后交换B与C,从而得到"ABC" 和 "AC
展开全文
一叶浮尘
发表于 2019-08-17 11:14:05
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 没想到按照自己的思路又攻克下了一道题目,在这道题目书写的过程中又进一步复习了java中String以及StringBuil
展开全文
五头镜子
发表于 2020-01-13 22:34:16
几种全排列算法 0.字典序法参考https://blog.csdn.net/babynumber/article/details/42706757在O(n)的时间复杂度下生成当前排列的下一个排列(字典序)。详细算法去读上面的博客。简单的讲:1、从右向左找到第一个正序对(array[i] < a
展开全文
青春期不醒症患者
发表于 2019-09-14 19:01:32
class Solution { public: vector<string> Permutation(string str) { if (str.empty()) return {}; sort(str.begin(), str.end());
展开全文
Jalr4ever
发表于 2019-09-01 01:51:38
题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入:一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 思路 先学习回溯的基本套路,这里使用回溯法解
展开全文
一颗闪闪发亮的马路星
发表于 2020-02-10 15:40:28
题目输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 首先读题我们发现,这种从固定的数组/String 里的取出元素进行排列组合,是经典的permutation题目。然后我们
展开全文
啊~我好菜啊
发表于 2019-09-18 21:06:41
27. 字符串的排列 题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路递归法,问题转换为先固定第一个字符,求剩余字符的排列;求剩余字符排列时跟原问题一样。遍历
展开全文
常喝水
发表于 2019-12-19 10:45:22
写这段代码的时候就是不知道在哪里写递归函数,一开始写的是res.append(head+self.Permutation(shadow)),果然递归就是一看就会一写就废 class Solution: def Permutation(self, ss): # write co
展开全文
不努力就会倒数
发表于 2020-01-12 15:28:43
/** 思路:a b c 使用的递归思路 1,先确定第一个数a,剩余bc 2,再确定第二个数b,剩余c 3,判断就剩一个数了,把路径存起来 思路还挺好想,主要是怎么写代码。看下面吧,不太好讲。 */ public class Solution { public ArrayList<S
展开全文
橙子爱吃桃子
发表于 2020-05-27 10:10:11
C++简单代码/set去重/剪枝/追溯法/10行: class Solution { public: set<string> res; //去重 vector<string> Permutation(string str) { if (str.
展开全文
vorking
发表于 2020-03-19 15:56:56
字典序法、递归法的C++语言实现: //////////////////////////////////////// ①最牛逼的字典序法: 1、从右向左找到第一个正序对(array[i]<array[i+1],因为没有等号,去掉重复的排列 2、从i开始向右搜索,找到比arr
展开全文
问题信息
动态规划
字符串
难度:
1183条回答
3947收藏
226436浏览
热门推荐
通过挑战的用户
查看代码
热心网友123
2021-03-05 02:59:31
牛客94043...
2021-03-05 02:11:20
RKJ倒影
2021-03-05 01:55:35
牛客48187...
2021-03-05 01:44:29
牛客16795...
2021-03-05 01:36:48
相关试题
字符串最后一个单词的长度
字符串
评论
(1985)
来自
2016乐视暑期实习生招...
下面程序段的时间复杂度为( )。
复杂度
评论
(1)
下面程序段的程序复杂度为_____...
C++
复杂度
评论
(1)
下面的程序可以统计命令行第一个参数...
C++
评论
(1)
以下国号中,在历史上存在东、西之延...
搜狐畅游
2018
游戏策划
游戏工程师
网络营销
评论
(1)
来自
搜狐畅游2018游戏剧情...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.ArrayList; public class Solution { public ArrayList
Permutation(String str) { } }
class Solution { public: vector
Permutation(string str) { } };
# -*- coding:utf-8 -*- class Solution: def Permutation(self, ss): # write code here
class Solution { public List
Permutation(string str) { // write code here } }
function Permutation(str) { // write code here } module.exports = { Permutation : Permutation };
function Permutation(str) { // write code here }
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ func Permutation( str string ) []string { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param str string字符串 # @return string字符串一维数组 # class Solution def Permutation(str) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ def Permutation(str: String): Array[String] = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ fun Permutation(str: String): Array
{ // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ public String[] Permutation (String str) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ export function Permutation(str: string): string[] { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ func Permutation ( _ str: String) -> [String] { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 * @return string字符串一维数组 */ pub fn Permutation(&self, str: String) -> Vec
{ // write code here } }
"ab"
["ab","ba"]