欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vector和数组效率问题

程序员文章站 2022-06-11 10:34:09
...

vector和数组对比

两个同样的动态规划法题目

第一题用的是vector——>面试题 08.01. 三步问题
vector和数组效率问题

class Solution {
public:
    static constexpr int P = int(1E9) + 7;
    int waysToStep(int n) {
        vector<long long> res={1,2,4};
        if(n==1||n==2||n==3)
        {
            return res[n-1];
        }
        for(int i=3;i<n;i++)
        {
            long long temp=(res[i-1]+res[i-2]+res[i-3])%P;
            res.push_back(temp);
        }
        return res[n-1] % P;
        

    }
};

vector和数组效率问题

第二题用的是数组——>leetcode198
vector和数组效率问题

class Solution {
public:
    int rob(vector<int>& nums) {
        int res[110]={0};
        if(nums.size()==0)
        {
            return 0;
        }
        else if(nums.size()==1)
        {
            return nums[0];
        }
        else if(nums.size()==2)
        {
            return max(nums[1],nums[0]);
        }
        else
        {
            res[0]=nums[0];
            res[1]=max(nums[0],nums[1]);
            for(int i=3;i<=nums.size();i++)
            {
                res[i-1] = max((nums[i-1]+res[i-3]),res[i-2]);
               
            }
            return res[nums.size()-1];
        }
    }
};

vector和数组效率问题
数组效率提高很多