题解 | #最后k个元素#

最后k个元素

https://www.nowcoder.com/practice/9e497c068b8a4f53b0f0576f89ff4ebe

#include<bits/stdc++.h>
#include <iterator>
#include <ratio>
#include <sys/types.h>
#include <vector>
using namespace std;

void PrintVector(const vector<int>& v, int pos)
{
	for (int i = 0;i<pos;i++) //这里选择用让i小于pos
	{
		cout << *(v.end() - 1 - i) << " ";//让容器从最后一个元素-i开始循环 输出当前指向的元素
	}
	cout << endl;
}
int main() {
	int n, k;
	vector<int>v;
	cin >> n;
	cin >> k;
	for (int i = 0; i < n; i++)
	{
		int key = 0;
		cin >> key;
		v.push_back(key);
	}

	PrintVector(v, k);

	// write your code here......

	return 0;
}

这题感觉用迭代器来遍历的话会很麻烦 不如直接用i来做索引 让i小于k(也就是i最多等于k-1)从容器最后一个元素开始遍历 每次减i 当i大于等于k的时候 结束循环 也就刚好逆序打印到了 指定的位置

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务