leetcode | 杨辉三角 | 电话号码配对

电话号码的字母组合

复制代码
class Solution {
    string _num[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

public:
    void Combinations(const string& digits,int di,string numcom,vector<string>& v)
    {
        if(di == digits.size())//结束条件
        {
            v.push_back(numcom);
            return ;
        }
        int num = digits[di] - '0';
        string str = _num[num];
        for(auto ch : str)
        {
            Combinations(digits,di+1,numcom+ch,v);//递归一定要注意numcom是+
            //不是+=;
        }
    }
    vector<string> letterCombinations(string digits) {
        vector<string> v;
        if(digits.size() == 0)
        {
            return {};
        }
        int di = 0;
        Combinations(digits,di,"",v);
        return v;
    }
};

杨辉三角

复制代码
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv;
        vv.resize(numRows,vector<int>());//进行初始化
        //进行的是每行初始化,因为这里表示的是顺序表里面是个顺序表
        for(int i = 0; i < vv.size(); i++)//初始化没列
        {
            vv[i].resize(i+1,0);
            vv[i][0] = vv[i][vv[i].size() - 1] = 1;
        }
        for(int i = 0 ;i < vv.size(); i++)
        {
            for(int j = 0; j < vv[i].size(); j++)
            {
                if(vv[i][j] == 0)
                {
                    vv[i][j] = vv[i-1][j-1] + vv[i-1][j];
                }
            }
        }
        return vv;
    }
};
相关推荐
算AI8 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh10 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之10 小时前
选择排序笔记
java·算法·排序算法
Naive_711 小时前
蓝桥杯准备(前缀和差分)
java·职场和发展·蓝桥杯
烂蜻蜓11 小时前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf11 小时前
图论----拓扑排序
算法·图论
我要昵称干什么11 小时前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ11 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl11 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦11 小时前
日期类的实现
数据结构·c++·算法