1 条题解

  • 1
    @ 2022-12-26 9:34:24

    思路分析

    桶排序是什么?

    想要使用桶排序,首先你得有桶。假设数据范围是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
    上传者