LeetCode刷题3-组合算法
2022/7/27 14:24:05
本文主要是介绍LeetCode刷题3-组合算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
组合数公式介绍
组合算法常用案例场景
场景一:简单组合 n个不同元素 重新排列有多少种组合
/** * 功能描述 組合算法 * * @author chch213 * @version 1.0 * @Date 2022/7/26 */ public class Main01 { public static void main(String[] args) { combination("ABC"); } // 场景一:简单组合 n个不同元素 重新排列有多少种组合 // 分析: // 假设2个元素-相当于2个位置-首先最高位置元素可以有2种选择,剩下的位置只能1种选择 // 假设3个元素-相当于3个位置-首先最高位置元素可以有3种选择,剩下的第2个位置只能2种选择,最后一个位置只能1种选择 // 假设4个元素-相当于4个位置-首先最高位置元素可以有4种选择,剩下的第3个位置只能3种选择,剩下的第2个位置只能2种选择,最后一个位置只能1种选择 // 以此类推:n个元素-n个位置,n的阶乘种组合 /** * 简单组合 n个不同元素 重新排列有多少种组合 * * @param str 待排列的字符串 */ private static void combination(String str) { // 1.字符串元素集 char[] chars = str.toCharArray(); // 2.元素总个数 int length = chars.length; // 3.递归算阶乘 System.out.println(factorial(length)); } /** * 递归求阶乘-核心函数 * * @param num 某个数的阶乘 * @return 入参的阶乘结果 */ private static int factorial(int num) { if (num <= 1) { return 1; } return factorial(num - 1) * num; } }
这篇关于LeetCode刷题3-组合算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享