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;
    }
};
相关推荐
forest_097 小时前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
纪念 2298 小时前
C++ 算法基础 (差分)
开发语言·c++·算法
杨逢昌工厂6S管理10 小时前
150-杨逢昌一线现场诊断笔记:越管一线越抵触背后的熵增机理与基准化治理
经验分享·笔记·职场和发展·学习方法
文丑颜不良啊11 小时前
LeetCode2761~2780题目解析
java·leetcode
jyOverQ11 小时前
从零学 JVM(六):垃圾回收算法详解——标记清除、标记复制与标记整理
jvm·算法
严肃小白兔13 小时前
第 06/24 期:神经网络的反向传播算法:从链式法则到梯度计算
人工智能·神经网络·算法
落羽的落羽14 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
文丑颜不良啊14 小时前
LeetCode2841~2860题目解析
java·leetcode
【心态好不摆烂】14 小时前
数据结构基础精讲3
数据结构·算法