递归
无奈的角斗士
这个作者很懒,什么都没留下…
展开
-
递归解决栈的进出问题
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素一组不同元素进入栈中由于进站和出栈的时间不同可能会出现不同顺序,比如3个元素进...原创 2018-03-15 14:53:06 · 590 阅读 · 0 评论 -
租鞋排队问题(未名湖的烦恼)
/*租鞋排队问题*/#include <iostream>using namespace std;int f(int m , int n);int main(){ int n , m;//n租鞋人数 m还鞋人数 cout<<f(n,m);}int f(int n ,int m){ if(n>m) return 0;//(当租鞋人数比换鞋人数多的时候)...原创 2018-03-15 17:05:30 · 520 阅读 · 0 评论 -
趣味填符号
题目匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 5 6 7 8 9 = 110 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+...原创 2018-03-16 16:56:33 · 460 阅读 · 0 评论 -
递归实现字母的排列问题
原地递归分析假设s="ABC",若f(String str)方法可以实现str的全排列,则s的全排列可以表示为( "A"+f("BC"))、("B"+f("AC"))、("C"+f("AB")) 由此可得以下程序import java.util.List;import java.util.Vector;/** * 字母的全排列问题 * @author Admi原创 2018-03-19 20:44:06 · 1080 阅读 · 0 评论 -
递归解决排列组合问题
排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。详细定义参考:https://baike.baidu.com/item/%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88/706498?fr=aladdin在各种算法比赛,或面试题中经常会出现关于排列组合的算法题...原创 2018-03-24 14:51:11 · 1503 阅读 · 0 评论 -
递归实现1 - 10 的输出
/*递归实现从1输出10*/#include <iostream>using namespace std;void g(int a , int b);int main(){ g(1,10);}void g(int a,int b){ if(a<=b) { cout<<a<<" "; g(a+1,b); }...原创 2018-03-14 14:33:59 · 2072 阅读 · 0 评论 -
使用递归实现字符串反转
不成熟的java代码(自己)import java.util.Scanner;/** * 递归字符串的反转 * @author Administrator * */public class te { static String s; static String str; public static void main(String[] args) { ...原创 2018-03-14 16:25:48 · 1563 阅读 · 0 评论 -
派遣问题
题目:X星球要派出一个5人组成的观察团前往W星。 其中: A国最多可以派出4人。 B国最多可以派出2人。 C国最多可以派出2人。 D国最多可以派出1人。 E国最多可以派出1人。 F国最多可以派出3人。 那么最终派往W星的观察团会有多少种国别的不同组合呢?这是一道典型的重复元素的组合问题解法一:/** * 元素重复组合枚举问题 * * @author Administrator * */...原创 2018-03-24 20:20:29 · 509 阅读 · 0 评论 -
称重问题递归解法
用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。如果只有5个砝码,重量分别是1,3,9,27,81 则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中)。 本题目要求编程实现:对用户给定的重量,给出砝码组合方案。 例如: 用户输入: 5 程序输出: 9-3-1 用户输入: 19 程序输出: 27-9+1 要求程序输出的组合总是大数在前小数在后。 可以假设用户的输入...原创 2018-03-28 20:51:39 · 662 阅读 · 0 评论