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;
    }
};
相关推荐
Jayden_Ruan1 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
点云SLAM2 小时前
C++ 常见面试题汇总
java·开发语言·c++·算法·面试·内存管理
叙白冲冲2 小时前
哈希算法以及面试答法
算法·面试·哈希算法
YuTaoShao3 小时前
【LeetCode 每日一题】1277. 统计全为 1 的正方形子矩阵
算法·leetcode·矩阵
古译汉书3 小时前
嵌入式铁头山羊stm32-ADC实现定时器触发的注入序列的单通道转换-Day26
开发语言·数据结构·stm32·单片机·嵌入式硬件·算法
野犬寒鸦3 小时前
力扣hot100:相交链表与反转链表详细思路讲解(160,206)
java·数据结构·后端·算法·leetcode
阿昭L3 小时前
leetcode两数之和
算法·leetcode
周树皮不皮3 小时前
【Leetcode100】算法模板之二叉树
算法
无名客03 小时前
sentinel限流常见的几种算法以及优缺点
算法·sentinel·限流
Lris-KK4 小时前
【Leetcode】高频SQL基础题--1164.指定日期的产品价格
sql·leetcode