题解 | #明明的随机数#

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

#include <iostream>
#include <vector>
using namespace std;

/*明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,
把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围:  1≤n≤1000  ,输入的数字大小满足1≤val≤500*/


int main()
{
	int n;
	cin >> n;
	vector<int> vec;
	int x;
	while ((n--) != 0)
	{
		cin >> x;
		vec.push_back(x);
	}
	//先进行排序  从小到大排序
	for (int i = 0; i < vec.size(); i++)
	{
		for (int j = i; j < vec.size(); j++)
		{
			if (vec[i]>vec[j])
			{
				int temp = vec[j];
				vec[j] = vec[i];
				vec[i] = temp;
			}
		}
	}
	//遍历查找一样的元素
	for (int i = 0; i < vec.size(); i++)
	{
		for (int j = i+1; j < vec.size(); j++)
		{
			//如果找到一样的 那就需要把后一个数删除掉  后面的自动向前补齐
			if (vec[i] == vec[j])
			{
				vec.erase(vec.begin()+j);		//删除开始第j个元素 删除容器指定位置元素
				i--;
			}
		}
	}
  //将容器里的值进行输出
	for (auto it : vec)
	{
		cout << it << endl;
	}
	system("pause");
	return 0;
}

全部评论

相关推荐

牛马43373018...:这人真懂什么叫熵吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-09 15:06
求好运眷顾🙏🏻:翻译:面试前没盘点好hc一下面太多了,现在在排序回去等通知
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务