iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >java如何遍历m取n的所有组合
  • 562
分享到

java如何遍历m取n的所有组合

2023-06-03 05:06:06 562人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关java如何遍历m取n的所有组合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 示例:  * 求m取n的所有组合。  

这篇文章将为大家详细讲解有关java如何遍历m取n的所有组合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

 示例:

  * 求m取n的所有组合。  * m个数分别为0,1,2...m-1.  * 算法简述:  *   二个组合,若仅有元素顺序不同,视其为同一个组合。  *   左位系低位,右位系高位。  *   按自然的取法取第一个组合(各数位分别是:0,1,2...n-1),以后的所有组合都经上一个组合变化而来:  *   从右至左,找到有增量空间的位,将其加1,使高于该位的所有位,均比其左邻位大1,从而形成新的组合。  *   若所有位均无增量空间,说明所有组合均已被遍历。  *   使用该方法所生成的组合数中:对任意组合int[] c,下标小的数必定小于下标大的数.  *


*/
public class Combination {
int n, m;
int[] pre;//previous combination.
public Combination(int n, int m) {
this.n = n;
this.m = m;
}

public int[] next() {
if (pre == null) {//取第一个组合,以后的所有组合都经上一个组合变化而来。
pre = new int[n];
for (int i = 0; i < pre.length; i++) {
pre = i;
}
int[] ret = new int[n];
System.arraycopy(pre, 0, ret, 0, n);
return ret;
}
int ni = n - 1, maxNi = m - 1;
while (pre[ni] + 1 > maxNi) {//从右至左,找到有增量空间的位。
ni--;
maxNi--;
if (ni < 0)
return null;//若未找到,说明了所有的组合均已取完。
}
pre[ni]++;
while (++ni < n) {
pre[ni] = pre[ni - 1] + 1;
}
int[] ret = new int[n];
System.arraycopy(pre, 0, ret, 0, n);
return ret;
}
}

关于“java如何遍历m取n的所有组合”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: java如何遍历m取n的所有组合

本文链接: https://www.lsjlt.com/news/232794.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java如何遍历m取n的所有组合
    这篇文章将为大家详细讲解有关java如何遍历m取n的所有组合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 示例:  * 求m取n的所有组合。  ...
    99+
    2023-06-03
  • JAVA如何遍历Map集合
    这篇文章将为大家详细讲解有关JAVA如何遍历Map集合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法一:首先去通过获取迭代器,通过迭代器去遍历集合,获取key然后通过key去获取value,然后就完成...
    99+
    2023-06-14
  • java如何遍历json数组
    在Java中,可以使用JsonArray类来遍历JSON数组。下面是一个遍历JSON数组的示例代码:javaimport org.j...
    99+
    2023-10-18
    java
  • 如何在Redis中遍历所有key
    本篇文章给大家分享的是有关如何在Redis中遍历所有key,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。当我们需要遍历Redis所有key或者指定模式的key时,首先想到的是K...
    99+
    2023-06-14
  • python如何遍历字典中所有的键
    这篇文章将为大家详细讲解有关python如何遍历字典中所有的键,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遍历字典中所有的键使用for循环和key()方法遍历字典中的所有键,如下例所示:car ...
    99+
    2023-06-17
  • python如何遍历字典中所有的值
    小编给大家分享一下python如何遍历字典中所有的值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!遍历字典中所有的值使用for循环和values()方法遍历字典中...
    99+
    2023-06-17
  • 如何遍历LINQ序列的所有子集
    小编给大家分享一下如何遍历LINQ序列的所有子集,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!遍历LINQ序列的所有子集有的时候,遍历数组的所有子集很有用。子集和...
    99+
    2023-06-17
  • node.js如何遍历对象所有节点
    今天小编给大家分享一下node.js如何遍历对象所有节点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实例代码var&nbs...
    99+
    2023-07-04
  • Java中如何使用Iterable接口遍历所有元素
    小编给大家分享一下Java中如何使用Iterable接口遍历所有元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Iterabl...
    99+
    2024-04-02
  • Java中如何foreach语句使用遍历所有元素
    这篇文章主要介绍了Java中如何foreach语句使用遍历所有元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。foreach语句forea...
    99+
    2024-04-02
  • Java如何实现Map集合遍历
    这篇文章给大家分享的是有关Java如何实现Map集合遍历的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用...
    99+
    2023-05-30
  • node.js中如何遍历对象所有节点
    今天小编给大家分享一下node.js中如何遍历对象所有节点的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。代码如下:var&n...
    99+
    2023-06-17
  • java遍历集合的方法有哪些
    Java中遍历集合的方法有以下几种:1. 使用foreach循环:通过foreach循环可以遍历Collection集合和数组。``...
    99+
    2023-09-27
    java
  • python如何遍历字典中所有的键值对
    这篇文章将为大家详细讲解有关python如何遍历字典中所有的键值对,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遍历字典中所有的键-值对使用for循环和item()方法遍历字典中的所有键值对,如下例所示:...
    99+
    2023-06-17
  • java有哪些遍历集合的方法
    java中遍历集合的方法有:1.使用循环方式遍历;2.使用加强for循环遍历;3.使用Lambda表达式遍历;4.使用迭代方式遍历;java中遍历集合的方法有以下几种使用循环方式遍历for (int i = 0; i < listNames...
    99+
    2024-04-02
  • vue如何遍历data所有变量并赋值
    目录遍历data所有变量并赋值遍历data工具类遍历data所有变量并赋值 遍历data工具类 var _data_str = sessionStorage.getItem("SC...
    99+
    2024-04-02
  • sql如何遍历所有表查询出数据
    可以使用以下步骤来遍历所有表并查询出数据:1. 使用`SELECT name FROM sqlite_master WHER...
    99+
    2023-08-20
    sql
  • Java中如何使用for循环语句遍历所有元素
    这篇文章主要为大家展示了“Java中如何使用for循环语句遍历所有元素”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中如何使用for循环语句遍历所有元素...
    99+
    2024-04-02
  • java怎么遍历文件夹内的所有文件
    可以使用递归来遍历文件夹内的所有文件。以下是一个示例代码: import java.io.File; public class F...
    99+
    2023-10-26
    java
  • java遍历map集合的方法有哪些
    Java遍历Map集合的方法有以下几种:1. 使用entrySet()方法遍历:通过Map的entrySet()方法获取Map集合的...
    99+
    2023-09-13
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作