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;
    }
};
相关推荐
To_OC7 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎8 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC9 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹10 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术10 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber13 小时前
检索技术的实际应用
人工智能·算法
hhzz13 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_14 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法