几种vector的初始化方法
来源:互联网 发布:淘宝出售京东e卡 编辑:程序博客网 时间:2024/06/06 18:10
题目:
1005. 最大和
题目描述
从数列A[0], A[1], A[2], ..., A[N-1]中选若干个数,要求相邻的数不能都选,也就是说如果选了A[i], 就不能选A[i-1]和A[i+1]. 求能选出的最大和.
1 <= N <= 100000, 1 <= A[i] <= 1000
请为下面的Solution类实现解决上述问题的函数maxSum,函数参数A是给出的数列,返回值为所求的最大和.
class Solution {
public:
int maxSum(vector<int>& A) {
}
};
例1:A = {2, 5, 2},答案为5.
例2:A = {2, 5, 4},答案为6.
代码:
#include <vector>#include <algorithm>#include <iostream>#include <cstdlib>using namespace std;class Solution {public: int maxSum(vector<int>& A) {int size = A.size(); vector<int> b(size);b[0] = A[0];b[1] = max(A[0],A[1]);if(size == 0) return 0;if(size == 1) return b[0];if(size == 2) return b[1];for(int i = 2; i < size; i++){b[i] = b[i-1] > b[i-2]+A[i] ? b[i-1] : b[i-2]+A[i];}return b[size-1]; }};int main(){int array[] = {1,2,3,4,5,6,7};vector<int> temp(array,array+7);Solution a;cout<<a.maxSum(temp)<<endl;system("pause");}
本题使用的算法是动态规划。
知识点:vector的初始化:
vector<T> v(n,i)形式,v包含n 个值为 i 的元素: vector<int> ivec(10,0);vector<T> v(v1)形式,v是v1 的一个副本: vector<int> ivec1(ivec);vector<T> v(n)形式,v包含n 个值初始化的元素: vector<int> ivec2(10);数组初始化vector: int iarray[]={1,2,3,4,5,6,7,8,9,0}; size_t count=sizeof(iarray)/sizeof(int); vector<int> ivec3(iarray,iarray+count);使用memset初始化vector: vector<int> vec(10,1); memset(vec.data(),0,vec.size()*sizeof(int));
题目描述
从数列A[0], A[1], A[2], ..., A[N-1]中选若干个数,要求相邻的数不能都选,也就是说如果选了A[i], 就不能选A[i-1]和A[i+1]. 求能选出的最大和.
1 <= N <= 100000, 1 <= A[i] <= 1000
请为下面的Solution类实现解决上述问题的函数maxSum,函数参数A是给出的数列,返回值为所求的最大和.
class Solution {
public:
int maxSum(vector<int>& A) {
}
};
例1:A = {2, 5, 2},答案为5.
例2:A = {2, 5, 4},答案为6.
阅读全文
0 0
- 容器vector初始化的几种方法
- 几种vector的初始化方法
- vector的几种初始化和遍历
- vector初始化的几种方式-STL
- vector的几种初始化和遍历
- 初始化vector实例的7种方法
- vector的几种初始化及赋值方式
- Vector的几种构造方法
- 初始化二维vector的方法
- string初始化的几种方法
- 字符数组的几种初始化方法
- 结构体初始化的几种方法
- 初始化Mat的几种方法
- string初始化的几种方法
- 初始化spring容器的几种方法
- 属性的几种初始化方法
- 关于几种std::vector访问方法的效率
- vector中删除元素的几种方法
- Windows学习(009)--线程(三)线程同步
- Sqlite数据库存储数据
- 我配置的 Oh my zsh
- leetcode 64. Minimum Path Sum
- Linux下GDB调试
- 几种vector的初始化方法
- HBase原理体系架构
- 2.3-7 描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素
- C语言快速讲解(二)指针的用法
- centos6.5 配置LNPM环境(PHP7.0)
- kali java ee 开发 环境代建
- 经常听说AT&T汇编、Intel汇编,还能听到ARM汇编,这个ARM汇编与前两个有什么关联?
- Struts2的页面参数获取
- centOS7 网络配置,IP设置,连网配置