vector和数组效率问题
程序员文章站
2022-06-11 10:34:09
...
vector和数组对比
两个同样的动态规划法题目
第一题用的是vector——>面试题 08.01. 三步问题
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;
}
};
第二题用的是数组——>leetcode198
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];
}
}
};
数组效率提高很多
上一篇: 我从事技术的这些年(第10年)
下一篇: js校验邮箱方法的一种写法