Class Arrangement

java.lang.Object
org.miaixz.bus.core.math.Arrangement
All Implemented Interfaces:
Serializable

public class Arrangement extends Object implements Serializable
排列A(n, m) 排列组合相关类 参考:http://cgs1999.iteye.com/blog/2327664
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • Arrangement

      public Arrangement(String[] datas)
      构造
      Parameters:
      datas - 用于排列的数据
  • Method Details

    • count

      public static long count(int n)
      计算排列数,即A(n, n) = n!
      Parameters:
      n - 总数
      Returns:
      排列数
    • count

      public static long count(int n, int m)
      计算排列数,即A(n, m) = n!/(n-m)!
      Parameters:
      n - 总数
      m - 选择的个数
      Returns:
      排列数
    • countAll

      public static long countAll(int n)
      计算排列总数,即A(n, 1) + A(n, 2) + A(n, 3)...
      Parameters:
      n - 总数
      Returns:
      排列数
    • select

      public List<String[]> select()
      全排列选择(列表全部参与排列)
      Returns:
      所有排列列表
    • select

      public List<String[]> select(int m)
      排列选择(从列表中选择m个排列)
      Parameters:
      m - 选择个数
      Returns:
      所有排列列表
    • selectAll

      public List<String[]> selectAll()
      排列所有组合,即A(n, 1) + A(n, 2) + A(n, 3)...
      Returns:
      全排列结果