js实现简单排列组合的方法
本文实例讲述了js实现简单排列组合的方法。分享给大家供大家参考,具体如下:
运行效果截图如下:
具体代码如下:
<!DOCTYPE html> <html> <head> <title>demo</title> <script type="text/javascript"> var str = [1,2,3,4,5]; var count = 0; function arrange(s){ for(var i=0,length=str.length; i<length; i++) { if(s.length == length - 1) { if(s.indexOf(str[i]) < 0) { count++; console.log("组合"+count+"="+s + str[i]); } continue; } if(s.indexOf(str[i]) < 0) { arrange(s+str[i]); } } } arrange(""); </script> </head> <body> </body> </html>
更多关于JavaScript算法相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数据结构与算法技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
相关推荐
-
js的各种排序算法实现(总结)
如下所示: // ---------- 一些排序算法 var Sort = {} Sort.prototype = { // 利用sort进行排序 systemSort:function(array){ return array.sort(function(a, b){ return a - b; }); }, // 冒泡排序 bubbleSort:function(array){ var i = 0, len = array.length, j, d; for(; i<len; i++){ f
-
JS实现的几个常用算法
(1)数组去重 原理:定义一个对象obj,然后把数组元素作为obj的属性名,利用属性名是否重复进行判重 var unique = function(arr){ let obj = {}; let newArr = []; arr.forEach(function(x){ if(!obj[x]){ //如果对象中没有该元素对应的属性 obj[x] = true; newArr.push(x); } }); return newArr; } (2)使用快速排序算法对数组进行排序 这里面包括两种效果,
-
JavaScript全排列的六种算法 具体实现
全排列是一种时间复杂度为:O(n!)的算法,前两天给学生讲课,无意间想到这个问题,回来总结了一下,可以由7种算法求解,其中动态循环类似回溯算法,实现起来比较繁琐,故总结了6种,以飨读者.所有算法均使用JavaScript编写,可直接运行.算法一:交换(递归) 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-T
-
JS实现的数组全排列输出算法
本文实例讲述了JS实现的数组全排列输出算法.分享给大家供大家参考.具体分析如下: 这段js代码对数组进行全排列输出,改进了一些老的代码 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. function permute(input) { var permArr = [], usedChars = []; function main(input){ var i, ch; for (i = 0; i < i
-
js实现字符全排列算法的简单方法
实例如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>字符全排列</title> </head> <body> <script> function charsMap(o){ o = (o+"").replace(/(\w)(?=\w*\1)/g
-
js实现简单排列组合的方法
本文实例讲述了js实现简单排列组合的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title>demo</title> <script type="text/javascript"> var str = [1,2,3,4,5]; var count = 0; function arrange(s){ for(var i=0,
-
Python使用combinations实现排列组合的方法
好久没有写博客了!昨天小牛在上海举办了牛友见面会,现场优惠还是比较大,心仪已久加上一时脑热就入手了.以为会有多么开心,其实目前最大的感受就是焦虑!担心电动车被偷,担心电池被偷,担心路上突然被交警叔叔拦下!我想,直到我的小牛真的被偷的那天,这种焦虑才会随之消失.唉,要说这样的焦虑怎么来的,我只能呵呵了:) 下面步入正题: 今天在帮我们家王博处理专利数据的时候,需要对专利数据中的城市和专利主体的合作关系数量进行统计.一项专利其写作主体可能由两个或两个以上主体参与,各个主体又分属不同或者相同的城市,对
-
JS+CSS简单树形菜单实现方法
本文实例讲述了JS+CSS简单树形菜单实现方法.分享给大家供大家参考.具体如下: 这是一款不错的CSS树形菜单,树状列表,当然不全是CSS实现,部分功能还使用了JavaScript代码进行配合,删减了修饰用的菜单图片,大家用的时候自己图片加进去,IMG标签大部分都预留了出来,稍懂Html语法的朋友很容易就看懂的. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-simple-tree-menu-style-codes/ 具体代码如下
-
JS实现简单路由器功能的方法
本文实例讲述了JS实现简单路由器功能的方法.分享给大家供大家参考.具体实现方法如下: var wawa = {}; wawa.Router = function(){ function Router(){ } Router.prototype.setup = function(routemap, defaultFunc){ var that = this, rule, func; this.routemap = []; this.defaultFunc = defaultFunc; for (v
-
js+canvas简单绘制圆圈的方法
本文实例讲述了js+canvas简单绘制圆圈的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh
-
PHP实现的简单排列组合算法应用示例
本文实例讲述了PHP实现的简单排列组合算法应用.分享给大家供大家参考,具体如下: 一.问题: 给你一个40斤的西瓜,给3个人分,有多少种分法? 二.PHP实现代码: <?php $aa = range(1,40); $bb = array(); foreach($aa as $k=>$val){ foreach($aa as $v){ foreach($aa as $vl){ $sum = $val+$v+$vl; if($sum == 40){ $bb[$k][0] = $val; $bb[
-
C#查找字符串所有排列组合的方法
本文实例讲述了C#查找字符串所有排列组合的方法.分享给大家供大家参考.具体实现方法如下: // 1. remove first char // 2. find permutations of the rest of chars // 3. Attach the first char to each of those permutations. // 3.1 for each permutation, move firstChar in all indexes // to produce even
-
JS实现的排列组合算法示例
本文实例讲述了JS实现的排列组合算法.分享给大家供大家参考,具体如下: 在数学中有排列组合,用来计算概率. 比如:从4个数字中,任意选择两个的情况.从5个数字中任意选择3个数字的情况.(这里我们只考虑没有顺序的情况). 公式:C(n,m)=n!/[m!(n-m)!]=n*(n-1)*...*(n-m+1)/[1*2*...*m],如C(5,2)=[5*4]/[1*2]=10. 举例说明:有 1,2,3,4 四个数字,从这四个数字中,任意选择两个数字一共有多少种情况:[1,2], [1,3], [
-
Python实现的简单排列组合算法示例
本文实例讲述了Python实现的简单排列组合算法.分享给大家供大家参考,具体如下: 1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍 2.一个列表数据任意组合 主要是利用自带的库: #_*_ coding:utf-8 _*_ #__author__='dragon' import itertools list1 = [1,2,3,4,5] list2 = [] for i in range(1,len(list1)+1): iter = itertools.comb
-
JS插入排序简单理解与实现方法分析
本文实例讲述了JS插入排序简单理解与实现方法.分享给大家供大家参考,具体如下: 在这里,我详细的讲一下我个人对于插入排序的理解. 每个人对于事物的理解都是不一样的,因为每个人对世界万物的看法和思考方式都不一样.因此,对于排序算法,我想每个人都有自己的理解方式,所以,虽然博客园里有很多关于排序的文章,但那只是其他人对这几个排序的理解方式,而笔者也有自己的理解方式,所以,笔者也就没有在意博客园写了那么多关于排序的文章而还在这里写下个人的见解了. 对于插入排序,笔者是这么理解的: 插入排序就是把一组数
随机推荐
- Oracle存储过程返回游标实例详解
- 动态的绑定事件addEventListener方法的使用
- 第二篇Bootstrap起步
- 解读什么是防火墙
- Docker搭建私有镜像仓库的方法
- iOS指纹验证TouchID应用学习教程
- 总结Java中线程的状态及多线程的实现方式
- 简单使用BackgroundWorker创建多个线程的教程
- webpack实现热更新(实施同步刷新)
- 认识ASP.NET配置文件Web.config
- asp.net两级联动(包含添加和修改)
- 实用的简单PHP分页集合包括使用方法
- C#二维数组基本用法实例
- mysql修改密码的三方法和忘记root密码的解决方法
- Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
- C#动态生成DropDownList执行失败原因分析
- 常见的Nginx配置误区
- jquery通过扩展select控件实现支持enter或focus选择的方法
- javascript中var的重要性分析
- java统计字符串单词个数的方法解析