vector——OJ题

简介: vector——OJ题

一、只出现一次的数字


1、题目讲解

585fc6bd5aeb4a1f96ceea89684d2b28.png

2、思路讲解

7dd42ae1c7974109bef152e5528f8185.png

3、代码实现

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret=0;
        for(auto& ch:nums)
        {
            ret^=ch;
        }
        return ret;
    }
};


二、杨辉三角


1、题目讲解

a4eae5e7573f4c1f910d960d9ceb903d.png

2、思路讲解

8921c03c7c754584b7bb80b085bd9143.png

3、代码实现

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv;
        vv.resize(numRows);
        for(int i=0;i<vv.size();i++)
        {
            vv[i].resize(i+1);
            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;
    }
};


三、删除有序数组中的重复项


1、题目讲解

b67042b7ff344c6181f5ebb827b963a2.png

2、思路讲解

6a96224a73f2416ebea850181eab3814.png

3、代码实现

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
       int n=0;
       for(int i=0;i<nums.size();i++)
       {
           if(nums[i]!=nums[n])
           {
               nums[++n]=nums[i];
           }
       }
       return n+1;
    }
};


四、电话号码的字母结合


1、题目讲解

d2f96fae254846d8a48aa0ea10a831be.png

2、思路讲解

部分递归展开图

a59daa4939aa4159a796e45fa04859c1.png

3、代码实现

class Solution {
public:
    const char* arr[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
    void Combina(const string& digits,int i,string str,vector<string>& ret)
    {
       if(i==digits.size())
       {
           ret.push_back(str);
           return;
       }
       int m=digits[i]-'0';
       string s1=arr[m];
       for(auto ch:s1)
       {
           Combina(digits,i+1,str+ch,ret);
       }
    }
    vector<string> letterCombinations(const string& digits) {
        vector<string> ret;
        if(digits.empty())
        return ret;
        string str;
        Combina(digits,0,str,ret);
        return ret;
    }
};


目录
相关文章
|
存储 算法
数组OJ题(2)
数组OJ题(2)
128 0
|
存储
数组OJ题(1)
数组OJ题(1)
71 0
|
存储
数组OJ题(总)
数组OJ题(总)
84 0
|
存储
数组OJ题汇总(一)
数组OJ题汇总(一)
70 0
|
C++
【C++】vector OJ练习(二)
【C++】vector OJ练习(二)
79 0
|
C语言 C++
【C++】vector OJ练习(一)
【C++】vector OJ练习
93 0
|
算法
算法OJ题(1)
算法OJ题(1)
114 0
|
C++ 容器
Learining C++ No.12【vector】
Learining C++ No.12【vector】
CF1365D Solve The Maze (BFS)
CF1365D Solve The Maze (BFS)
95 0
CF1365D Solve The Maze (BFS)
杨辉三角(vector)
题目: 输入一个数字n,实现输出n行对应的杨辉三角数;
118 0

热门文章

最新文章