1 条题解
-
1
思路分析
桶排序是什么?
想要使用桶排序,首先你得有桶。假设数据范围是1-m,那你就得有一个容量大小为m的一个桶。这个桶可以用一个数组存放,即开一个大小为m(或m+1)的数组。将每个数据按照它该在的位置放进去,最后输出这个桶你得到的结果就会是一个去重以及排序后的数列。(桶排序最大的优点是时间复杂度较低,但如果数据比较大就不建议用桶排序了)
简单分析
这题我用的是桶排序,当然冒泡也是可以的。其实这题跟随机数真的没关系 这题最好的方法应该还是桶排序,因为桶排序既有去重也有排序的作用, 再一看,数据也不是很大,就桶排序了。
AC代码
#include <iostream> using namespace std; int main() { bool a[1001] = {0}; //定义一个桶 int n, x; cin >> n; //输入数量 for (int i = 1; i <= n; i++) { cin >> x; //读入数据 a[x] = 1; //统计数据+去重 } n = 0; for (int i = 1; i <= 100; i++) if (a[i] == 1) n += 1; //统计数量 for (int i = 1; i <= 100; i++) if (a[i] == 1) cout << i << " "; //输出随机数 return 0; }
题解不易(纯手打),点个赞呗。
- 1
信息
- ID
- 1328
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 172
- 已通过
- 58
- 上传者