首先看到这道题,想法是可能需要考虑两种情况:大于和小于都计算一遍,然后比较哪个数值更小就输出哪个
在c/c++中,将一个vector内容赋值给另一个vector的方法大概有如下四个:
方法1:
vector<int > v1(v2);//声明
方法2:使用函数assign进行赋值:
vector<int > v1;//声明v1
v1.assign(v2.begin(), v2.end());//将v2赋值给v1
方法3:使用swap进行赋值:
vector<int > v1();
v1.swap(v2);//将v2赋值给v1
方法4:使用最笨的方法,即使用迭代器和循环语句赋值的方法。其方法运行效率较差
vector<int >::iterator it;//声明迭代器
for(it = v2.begin();it!=v2.end();++it)//遍历v2,赋值给v1
{
v1.push_back(it);
}
![](https://i-blog.csdnimg.cn/blog_migrate/17c09706e7012b2b93bd35747ca8e469.png)
看了官方题解用贪心算法,更简洁,但含义基本一样,过关!