【Leetcode】vector刷题

慈云数据 7个月前 (04-27) 技术支持 38 0

Alt

🔥个人主页:Quitecoder

🔥专栏:Leetcode刷题

Alt

目录

  • 1.只出现一次的数字
  • 2.杨辉三角
  • 3.删除有序数组中的重复项
  • 4.只出现一次的数字II
  • 5.只出现一次的数字III
  • 6.电话号码的字母组合

    1.只出现一次的数字

    题目链接:136.只出现一次的数字

    题目描述在这里插入图片描述

    这道题很简单,我们只需要遍历一遍数组,利用异或操作的性质(一个数与自身异或结果为0,任何数与0异或还是其本身)

    class Solution {
    public:
        int singleNumber(vector& nums) {
            int value =0;
            for(auto v:nums)
            {
                value^=v;
            }
            return value;
        }
    };
    

    2.杨辉三角

    题目链接:118.杨辉三角

    题目描述:在这里插入图片描述

    这道题我们需要构造二维数组,典型的vector的嵌套使用

    在这里插入图片描述

    首先,我们先构建二维数组,开辟行数大小

    vector v(numRows);
    

    接着对每一行进行开辟空间,并将两端初始化为1

    for(int i=0;i
        v[i].resize(i+1);
        v[i][0]=1;v[i][i]=1;
    }
    
    public:
        vector
            vector
                v[i].resize(i+1);
                v[i][0]=1;v[i][i]=1;
            }
            for(int i=0;i
            for(int j=0;j
                if(v[i][j]==0)
                {
                    v[i][j]=v[i-1][j]+v[i-1][j-1];
                }
            }
            }
        return v;
        }
    };
    
    public:
        int removeDuplicates(vector
            if (nums.size() == 0) {
                return 0;
            }
            int slow = 0;
            for (int fast = 1; fast 
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon