最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

js中字符串的全排列的算法解析

来源:懂视网 责编:小采 时间:2020-11-27 19:33:27
文档

js中字符串的全排列的算法解析

js中字符串的全排列的算法解析:这篇文章给大家介绍的内容是关于js中字符串的全排列的算法解析,有着一定的参考价值,有需要的朋友可以参考一下。题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,a
推荐度:
导读js中字符串的全排列的算法解析:这篇文章给大家介绍的内容是关于js中字符串的全排列的算法解析,有着一定的参考价值,有需要的朋友可以参考一下。题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,a

这篇文章给大家介绍的内容是关于js中字符串的全排列的算法解析,有着一定的参考价值,有需要的朋友可以参考一下。

题目描述

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

分析

没啥好分析的了,这个题不会,上网查的思路,大概就是:

abc分化为abc、bac、cba(这是0和0交换、0和1交换、0和2交换

第一步得出的abc分化为abc、acb(这是1和1交换、1和2交换

第一步得出的bac分化为bac、bca(这是1和1交换、1和2交换

第一步得出的cba分化为cba、cab(这是1和1交换、1和2交换

代码实现

function Permutation(str)
{
 if(str === null || str === "")
 return [];
 var res = [];
 var index = 0;
 
 step(str.split(""), index, res);
 
 return res.sort();
}

function step(strArr, cur, res) {
 if(cur === strArr.length-1){
 var i = 0, str = "";
 while(i < strArr.length){
 str += strArr[i++];
 }
 res.push(str);
 }
 
 for(var i = cur;i < strArr.length;i++) {
 if(strArr[i] === strArr[cur] && i !== cur)
 continue;
 swap(strArr, i, cur);
 step(strArr, cur+1, res);
 swap(strArr, i, cur);
 }
}

function swap(arr, a, b) {
 var temp = arr[a];
 arr[a] = arr[b];
 arr[b] = temp;
}

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

js中字符串的全排列的算法解析

js中字符串的全排列的算法解析:这篇文章给大家介绍的内容是关于js中字符串的全排列的算法解析,有着一定的参考价值,有需要的朋友可以参考一下。题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,a
推荐度:
标签: js 详解 字符串
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top