取球问题

 1 /*
 2  * 取球问题:
 3  * 从n个球中取出m个有多少种取法?
 4  */
 5
 6 public class Main {
 7
 8     public static void main(String[] args) {
 9         System.out.println(quQiu(10, 3));
10     }
11
12     static int quQiu(int n, int m) {
13         if (n < m) {
14             return 0;
15         }
16         if (n == m) {
17             return 1;
18         }
19         if (m == 0) {
20             return 1;
21         }
22         return quQiu(n - 1, m) + quQiu(n - 1, m - 1); // 弄一个特殊球,再分该球取不取两种情况
23     }
24
25 }

全排列问题

 1 /*
 2  * 全排列问题:
 3  * 求n个元素的全排列?
 4  */
 5
 6 public class Main {
 7
 8     public static void main(String[] args) {
 9         char[] a = "ABCDEFG".toCharArray();
10         paiLie(a, 0);
11     }
12
13     static void paiLie(char[] a, int index) {
14         if (index == a.length) {
15             System.out.println(a);
16         }
17         for (int i = index; i < a.length; i++) {
18             char temp = a[index];
19             a[index] = a[i];
20             a[i] = temp;
21
22             paiLie(a, i + 1);
23
24             temp = a[index]; // 回溯
25             a[index] = a[i];
26             a[i] = temp;
27         }
28     }
29
30 }

AB排列问题

 1 /*
 2  * 计算m个A,n个B可以组成多少排列?
 3  * 如:AABB,ABB......
 4  */
 5
 6 public class Main {
 7
 8     public static void main(String[] args) {
 9         System.out.println(paiLie(2, 1));
10     }
11
12     static int paiLie(int m,int n){
13         if(m==0||n==0){
14             return 1;
15         }
16         return paiLie(m-1, n)+paiLie(m, n-1);
17     }
18
19 }

最大子序列问题

/** 最大子序列长度:* 求两个串的最大公共子序列长度?*/public class Main {public static void main(String[] args) {System.out.println(ziXuLieChangDu("abc", "xbacd"));}static int ziXuLieChangDu(String s1, String s2) {if (s1.length() <= 0 || s2.length() <= 0) {return 0;}if (s1.charAt(0) == s2.charAt(0)) { // 假设首位相等return 1 + ziXuLieChangDu(s1.substring(1), s2.substring(1));} else {return Math.max(ziXuLieChangDu(s1.substring(1), s2), ziXuLieChangDu(s1, s2.substring(1)));}}}

整数分化问题

 1 /*
 2  * 整数分化问题:
 3  * 对于给定的正整数n,打印所有分化部分
 4  */
 5
 6 public class Main {
 7
 8     public static void main(String[] args) {
 9         int[] a = new int[6];
10         fenHua(6, a, 0);
11     }
12
13     static void fenHua(int n, int[] a, int index) {
14         if (n <= 0) {
15             for (int i = 0; i < index; i++) {
16                 System.out.print(a[i] + " ");
17             }
18             System.out.println();
19         }
20         for (int i = n; i > 0; i--) {
21             if (index > 0 && i > a[index - 1]) {        //先大后小
22                 continue;
23             }
24             a[index] = i;
25             fenHua(n - i, a, index + 1);
26         }
27     }
28
29 }

转载于:https://www.cnblogs.com/flypie/p/5116603.html

几个经典的递归小程序相关推荐

  1. 多分类经典语录微信小程序源码下载支持一键复制带壁纸,王者改名等功能

    这是一款主要以各类语录分享的一款小程序源码 比如有:舔狗日记,土味情话,别味情话,励志鸡汤 内容支持一键复制分享,可以随时切换下一个内容 另外还有壁纸功能(属于自动采集) 还有王者荣耀空白名修改,重复 ...

  2. (已更新)多分类经典语录微信小程序源码下载支持一键复制带壁纸,王者改名等功能

    这是一款主要以各类语录分享的一款小程序源码 比如有:舔狗日记,土味情话,别味情话,励志鸡汤 内容支持一键复制分享,可以随时切换下一个内容 另外还有壁纸功能(属于自动采集) 还有王者荣耀空白名修改,重复 ...

  3. 广州某高校经典诵读微信小程序分析

    前言 诵读中华经典 弘扬传统文化 本博客只对该小程序进行分析,仅限学习使用,严禁进行其他非法计算机侵入行为!造成的后果本人不承担相关责任. 背景(故事纯属虚构) 该校的K同学对于该小程序原理十分感兴趣 ...

  4. 比较经典的java程序_一些经典的java小程序代码,最好能复制后直接使用的 爱问知识人...

    一般排序的方法是比较经典的,你可以去网上找,很多的.各种排序方法,一般很多程序,尤其是考试什么的,都是需要的.像经典的冒泡排序.public static void sort(int[] values ...

  5. c语言入门小程序素数,C语言编程入门经典18个小程序

    C语言是面向过程的,而C++是面向对象的 C跟C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考量的是怎样借助一个过程,对输入(或环境条件)进行运算处理得到输出(或推动 ...

  6. 常用c语言小程序,c语言经典小程序汇总大全

    网上有很多的人说编程有多么多么无聊,其实:不要管别人怎么说,别人说什么,做你自己喜欢做的事就好.坚持下来,你会发现编程的乐趣的.当然,如果你觉得学习编程语言很痛苦,坚持了一段时间后无果,南无果断放弃未 ...

  7. 从小程序到小程序云开发

    点击观看大咖分享 小程序云开发为微信小程序开发者提供云到端的一站式解决方案,帮助开发者统一构建和管理资源,能有效降低技术门槛.减少研发成本.提升开发效率,协助开发者快速搭建稳定高质量的微信小程序应用. ...

  8. 多文档程序 两个menu框架_汇总9款优秀的开源小程序UI框架

    卧槽这玩意儿写的这么烂,我可以写一个更烂的来恶心作者--开源社区,经典语录 随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 布莱恩特:Github优秀的小程序 ...

  9. c语言小程序作业,c语言小程序(c语言简单小程序代码)

    所以特此求经典C语言小程序.谢谢大家的关注!!! #include #include void function(int n){ int i,j,k,x=0; for(i=1;i<=n;i++) ...

  10. 微信小程序实现window经典的扫雷游戏

    文章目录 前言 一.扫雷游戏规则是什么? 二.开发前准备 1.创建小程序项目 2.开始开发 2.1.实现网格地图 2.2.生成雷 2.3.生成雷数 2.4.长按添加雷的标识 2.5.点击网格事件 2. ...

最新文章

  1. master.dbo.spt_values
  2. 视图解析jstlView支持便捷的国际化功能
  3. php屏蔽行,PHP屏蔽过滤指定关键字的方法
  4. CNN基础知识(2)
  5. wpf资源嵌套,一个资源引用另外一个资源,被引用的资源应该声明在前面
  6. 七桥问题c语言程序数据结构,数据结构与算法学习——图论
  7. hadoop之MapReduce的案例(多表关联)
  8. 「代码随想录」337.打家劫舍III 【动态规划】力扣详解!
  9. c语言 和 运算顺序,二 如何学习C语言的运算符和运算顺序
  10. 中挪动正请求第三方支出牌照竖立支出公司
  11. 排序构造 GYM 101149 F - The Weakest Sith
  12. 重构Webpack系列之四 ---- Loaders
  13. three.js 文本_使用Three-bmfont-text在Three.js中创建文本
  14. 网易云音乐android变臃肿,网易云音乐版权少,为什么用户还能突破8亿??
  15. 基于OpenCv的人脸识别系统设计
  16. vue报错:Not Found - GET https://registry.npmjs.org/- Not found
  17. 大数据是人类福音还是洪水猛兽?
  18. 移动App该怎样保存用户password
  19. 获取jar包中的文件,及遍历jar包中的文件
  20. 指责TD的人几个是有资格的?--艾瑞网专家项立刚的博客专栏 - 艾瑞网

热门文章

  1. [洛谷P2463][SDOI2008]Sandy的卡片
  2. Gather more plan statistics by gather_plan_statistics hint
  3. 关于android资源文件名称的规范
  4. NOIp 2014 #3 寻找道路 Label:图论
  5. spring的定时调度
  6. mingw,cygwin,gnuwin32,msys,msys2 的区别
  7. 【目标检测】目标检测中的多尺度检测(Multi-Scale),FPN,RPN
  8. python文件IO中的二进制格式与文本格式
  9. java调用python脚本并向python脚本传递参数
  10. 深度神经网络为何很难训练