程序员代码面试指南 第四章 递归和动态规划

4.1 斐波那契系列的递归和动态规划

 

4.2 矩阵的最小和路径

 

4.3 换钱的最少货币数

 

4.4 换钱的方法数

 

4.5 最长递增子序列

 

4.6 汉诺塔问题

 

4.7 最长公共子序列问题

 

4.8 最小编辑代价

 

4.9 字符串的额交错组成

 

4.10 龙与地下城游戏

 

4.11 数字字符串转换为字母组合的种数

 

4.12 表达式得到期望结果的组成种数

 

4.13 排成一条线的纸牌博弈问题

 

4.14 跳跃游戏

 

4.15 数组中得到最长连续序列

 

4.16 N皇后问题(LeetCode 52)

class Solution {
public:
    int totalNQueens(int n) {
        if(n<1)return 0;
        vector record(n);
        return func(record,0,n);
    }
    
    int func(vector &record,int i,int n){
        if(i==n)return 1;
        int res=0;
        for(int j=0;j &record,int i, int j){
        for(int k=0;k

 

 

你可能感兴趣的:(C++,算法)