美文网首页
经典递归问题(2)

经典递归问题(2)

作者: jiamjg | 来源:发表于2018-10-23 13:00 被阅读0次
反转串

求一个字符串相应的反转串。

public class 递归7_反转串 {
    public static void main(String[] args){
        String string1="abc";
        System.out.println(reverseString(string1));
    }
    public static String reverseString(String x){
        if(x==null||x.length()<2){
            return  x;
        }
        return  reverseString(x.substring(1))+x.charAt(0);
    }
}

杨辉三角

public class 递归8_杨辉三角 {
    public static void main(String[] args){
        int level=6; //一共有6层
        for(int i=0;i<5;i++){
            for(int j=0;j<=i;j++){
                System.out.print(f(i,j)+" ");
            }
            System.out.println();
        }
        
    }
    //杨辉三角第m层的第n个元素
    public static int f(int m,int n){
        if(n==0||m==n){
            return 1;
        }
        return f(m-1,n)+f(m-1,n-1);
    }
}

计算3个A、2个B可以组成多少种排列的问题(如:AAABB,AABBA)是《组合数学》的研究领域,但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题,求m个A,n个B可以组成多少种不同的排列。

思路:要计算m个A,n个B有多少种排列可以假设第一个字符是A,计算m-1个A,n个B和假设第一个字符是B,计算m个A,n-1个B有多少种排列情况,如果其中的一个等于零,那么肯定只有一种排列情况。

public class 递归9_求排列组合的数目 {
    public static void main(String[] args){
        System.out.println(f(3,2));
    }
    public static int f(int m,int n){
        if(m==0||n==0){
            return 1;
        }
        return f(m-1,n)+f(m,n-1);
    }
}

相关文章

  • 经典递归问题(2)

    反转串 求一个字符串相应的反转串。 杨辉三角 计算3个A、2个B可以组成多少种排列的问题(如:AAABB,AABB...

  • 2.2 递归经典问题:汉诺塔问题

    Chapter2: 时间复杂度分析、递归、查找与排序 2. 递归经典问题:汉诺塔问题 问题 有A,B,C三个柱子,...

  • LeetCode-N Queens

    N皇后问题。经典回溯问题: 以下是递归及非递归的方法:

  • 正则问题

    经典的递归DFS 我对递归的理解不够深啊看到括号 应该很轻松的想到是经典的递归问题 然后只有四个符号()x| 分别...

  • 数据结构与算法(六)递归

    首先先提出一个问题,如何用递归去求解5的阶乘,这是一个经典的递归问题.我们都知道5的阶乘求法是5×4×3×2×1....

  • 经典递归问题(1)

    组合问题递归解 在n个球中,任意取出m个(不放回),求有多少种不同取法。 思路:从题目上看,这问题对于递归来说似乎...

  • 递归经典问题求解

    算法实现全部使用java或者伪代码!!! 1.数组求和 想到数组求和,大家肯定想到的是遍历求和 还可以使用递归的方...

  • 递归经典问题求解

    2.字符串相关操作 java 类 String 中对字符串的操作特别之多 如通过equal()判断字符串相等 tr...

  • 深度理解递归+递归经典问题实战

    内涵 定义 在数学与计算机科学中,递归(Recursion)是指在函数的定义中使用函数自身的方法。实际上,递归,顾...

  • 深度理解递归+递归经典问题实战

    内涵 定义 在数学与计算机科学中,递归(Recursion)是指在函数的定义中使用函数自身的方法。实际上,递归,顾...

网友评论

      本文标题:经典递归问题(2)

      本文链接:https://www.haomeiwen.com/subject/tiubzftx.html