排列组合 交叉组合 组合排列算法

20180619
一,交叉组合排列算法:
1、前言:
在项目开发的过程中负责全系统查询检索的一个模块,其中有一个查询方式叫做“交叉组合查询”,与数学中的排列组合类似,因此就开始想看一下这个该怎么写,以下为本人原创文章,转载请标明出处: https://blog.csdn.net/RobinsStruggle,本人自定为java菜鸟,如有问题指出请指教,不胜感激!
2、模型(例题):
现有A、B、C三组球,每组数量不相同,需要在A、B、C中每组一次拿出一个球,拿出的不能与之前拿出的相等:
A:a1、a2、a3;
B:b1、b2;
C:c1、c2、c3、c4;
如果使用数学那么很快就可以得出结论,如果通过简单代码去实现这一步骤的话那么可用的代码为:
public static void main(String[] args) {
List<String> dataList4A = new ArrayList<String>();
dataList4A.add("a1");
dataList4A.add("a2");
dataList4A.add("a3");

List<String> dataList4B = new ArrayList<String>();
dataList4B.add("b1");
dataList4B.add("b2");

List<String> dataList4C = new ArrayList<String>();
dataList4C.add("c1");
dataList4C.add("c2");
dataList4C.add("c3");
dataList4C.add("c4");

for (String dataSon4A : dataList4A) {
for (String dataSon4B : dataList4B) {
for (String dataSon4C : dataList4C) {
System.out.println(dataSon4A + dataSon4B + dataSon4C);
}
}
}
}
3、扩展:
上面的代码或者思维大概能够满足日常开发需求了,当时该想法还是不符合系统要求,因为系统查询条件的组数也就是说上个例子中球的组数是不确定的,那么如果使用上述的方法去实现的话似乎不太可能,而且极度不灵活,那么能不能开发一个工具类去进行根据传入的组数以及组数据去进行交叉排列组合呢?
刚开始的时候我也是顺着前面所述的思路进行思考的,后来发现可行性不大,所以就开始慢慢摸索这个交叉排列组合的可编程化的规则,于是通过整理发现了一个规则,此处献上我的草稿:

于是通过代码实现,并且封装成了工具类,就有了以下的代码:
排列算法实体类:CombinationEntity.java

排列算法操作类:CombinationPeration.java


该两个算法文件可进行下载(想赚点C币哈哈哈哈,两个C币,望谅解!): https://download.csdn.net/download/robinsstruggle/10485775

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

程序员必备算法——排列组合

程序员必备算法——排列组合 程序员必备算法排列组合 还记得排列组合吗全排列的实现组合问题总结 还记得排列组合吗&#xff1f; 在高中的时候最常接触的莫过于排列组合了&#xff0c;毕竟高考必考的嘛。我们先来回忆下这两个的公式是啥&#xff1a; 如果看到这个还有一丢…

教你 5 分钟快速部署开源网关

最近在研究开源网关&#xff0c;找了一圈&#xff0c;发现这个叫 Apinto 的开源网关符合我的需求&#xff0c;下面我将演示如何部署这样一个开源网关。 Apinto功能架构图 开始部署 部署资源 设备推荐配置设备数量部署对象4核8G&#xff0c;250G磁盘空间&#xff0c;2.5GHz1控制…

【算法】JavaScript必会算法 —— 排列组合(全排列)

文章目录 首先理解一下排列组合的定义&#xff1a; 排列的定义&#xff1a;从 n n n个不同元素中&#xff0c;任取 m m m&#xff08; m ≤ n m≤n m≤n&#xff0c; m m m与 n n n均为自然数&#xff0c;下同&#xff09;个元素按照一定的顺序排成一列&#xff0c;叫做从 n n…

C++:排列组合算法

转载请注明出处 1 介绍 排列&#xff08;Permutation&#xff09;和组合&#xff08;Combination&#xff09;是两个基础的数学概念。 计算排列与组合可以解决一些实际的工程问题&#xff0c;掌握排列组合计算的方法是十分重要的。 目前&#xff0c;网上已经有一些计算排列…

排列组合公式及排列组合算法

排列组合公式 排列组合公式/排列组合计算公式 公式P是指排列&#xff0c;从N个元素取M个进行排列。 公式C是指组合&#xff0c;从N个元素取M个进行组合&#xff0c;不进行排列。 N-元素的总个数 M参与选择的元素个数 &#xff01;-阶乘&#xff0c;如 9&#xff01;&#xf…

排列组合公式/排列组合计算公式

排列组合公式/排列组合计算公式 公式P是指排列&#xff0c;从N个元素取M个进行排列。 公式C是指组合&#xff0c;从N个元素取M个进行组合&#xff0c;不进行排列。 N-元素的总个数 M参与选择的元素个数 &#xff01;-阶乘&#xff0c;如9&#xff01;&#xff1d;9*8*7*6*5…

详细总结组合排列的十余种算法实现

目录 •写在前面 •问题引入 •暴力枚举 循环枚举 递归枚举 回溯枚举 •深度优先搜索 前序遍历 中序遍历 后序遍历 •字典序 •二进制位运算 •带重复数字 •总结 •写在前面 排列组合的问题&#xff0c;如果没有合适的算法去解决&#xff0c;时间复杂度会相当的…

论坛的头像

做了个论坛的头像,相当的简单 也就只能看看啦 菜啊

论坛头像编辑 html,spu头像编辑.html

&#xfeff;SPU头像编辑 $axure.utils.getTransparentGifPath function() { return resources/images/transparent.gif; }; $axure.utils.getOtherPath function() { return resources/Other.html; }; $axure.utils.getReloadPath function() { return resources/reload.ht…

牛客网项目---1.7.账号设置(上传头像、修改密码)

7、账号设置/setting 上传头像将头像保存到本地/七牛云服务器&#xff0c;随机生成字符串作为图片的名称&#xff0c;表单提交再返回该界面。获取头像时&#xff0c;在本地获取&#xff0c;通过输入输出流&#xff0c;先读到缓冲区&#xff0c;再从缓冲区写出&#xff1b;在七…

Discuz论坛无法上传头像/ 企业邮箱被归为垃圾邮件的问题

背景&#xff1a; 安装了Discuz论坛程序&#xff0c;更改个人头像的时候&#xff0c;点击上传按钮没有反应基于阿里云企业邮箱配置了论坛的邮件发送服务&#xff0c;但是邮箱被列入垃圾邮件拒收 解决方法&#xff1a; 上传头像失败&#xff1a;ucenter和全局域名要加https&a…

flask更改用户头像

目录结构图: 配置app 导包及配置 import os from flask import Flask, flash, request, redirect, url_for,Request,render_template from werkzeug.utils import secure_filenameUPLOAD_FOLDER 文件下载的绝对路径 # 允许的下载类型 ALLOWED_EXTENSIONS {txt, pdf, png, j…

discuz论坛用户--设置--修改头像不显示的解决方法

本文参考&#xff1a;https://www.2cto.com/kf/201601/478810.html 和https://jingyan.baidu.com/article/ceb9fb10ab73b68cad2ba092.html 先登陆discuz管理员后台admin.php&#xff0c;找到“站长”>>“UCenter设置”&#xff0c;其它的默认的地方就不要动了。关键要改…

关于Discuz 出现上传头像失败的问题

今天测试了论坛上传头像时出现 网上大部分的解决方案是配置UCenter Access denied for agent changed 头像无法更新 配置文件&#xff1a; config下config_global.php&#xff0c;config_ucenter.php uc_server\data下的config.inc.php 具体可参考此处&#xff1a;Discuz配…

内部论坛系统

开发环境/技术&#xff1a; Linux&#xff0c;MyEclipse&#xff0c;JDK1.7&#xff0c;MySql&#xff0c;JS&#xff0c;jQuery&#xff0c; ajax&#xff0c;Tomcat&#xff0c;CSS样式&#xff0c;Struts框架等 项目描述/功能&#xff1a; 项目主要实现了用户登陆注册&#…

Vue 彩色头像|一个有趣的头像生成器 附源码

前言 这是一款矢量风格的头像生成器&#xff0c;您可以搭配不同的素材组件&#xff0c;生成属于您自己的个性化头像。 介绍 您可能感兴趣的功能&#xff1a; 可视化组件配置栏随机生成头像重做/撤消国际化批量生成多个头像 在线体验 Vue 彩色头像https://www.shserve.cn/…

PHP 头像上传到mysql数据库

准备环境 window2008 phpStudy Mysql数据库 mysql数据库 第一步&#xff1a;用户登录成功 该用户已经存在数据库 进入个人中心&#xff0c;查找到数据库中的个人信息 进行图片上次 <?php include "../mysqlcon/dblink.php"; //导入数据库 ?><html> …

用php做论坛头像代码,详细介绍PHP针对多用户实现头像更换代码示例

一个网站&#xff0c;其实说白了就是某几个特定功能的组合&#xff0c;而更换用户头像就在这些功能之中。今天就来做个测试&#xff0c;针对不同的用户&#xff0c;实现头像上传功能。 成品图 思路针对不同的用户上传头像&#xff0c;我们要为每一个已登录的用户创建一个文件夹…

教你用go freetype根据用户昵称生成头像

最近需要为用户服务添加一些新功能&#xff0c;其中就包括在注册时根据用户昵称生成头像这一点。 由于用户服务是用golang写的&#xff0c;google来google去都只找到freetype一个比较简单好用的库&#xff0c;其他比如ImageMagicK之类api都过于低层不适合我们这样相对简单的图…

java ajax 更改头像_ajax+node实现头像更改

好久没有更新博客了&#xff0c;这几天在写文件上传的时候遇到了一个新的问题&#xff0c;就是关于ajax实现文件上传的问题 这几天在做一个小的demo&#xff0c;类似于论坛的一个东西&#xff0c;基于jqueryexpressmongo的一个小的案例&#xff0c;在做到关于设置个人头像的时候…