一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。
class Solution {
public:
int massage(vector<int>& nums) {
int size = nums.size();
if (size == 0 ) {
return 0;
} else if (size == 1) {
return nums[0];
}
// 初始化vector
vector<int>vec(size, 0);
vec[0] = nums[0];
vec[1] = max(vec[0], nums[1]);
for (int i = 2; i < size ; i++) {
vec[i] = max (vec[i-2] + nums[i], vec[i-1]);
}
return vec[size-1];
}
};
1.状态方程
2.vector的常用功能