HJ3 题解 | #明明的随机数#

明明的随机数

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

#include<iostream>
#include<string>
using namespace std;
int Swap(int& a, int& b);  //两数交换,看着放便一点;
int main() {
    int numIn[1000];  //个数小于1000
    int numOut[500];  //范围在1到500
    int number = 0;
    cin >> number; 
    for (int i = 0; i < number; i++)
        cin>>numIn[i];
    for (int i = 0; i < number - 1; i++)      //冒泡排序
        for (int j = i; j < number - 1; j++) {
            if (numIn[i] > numIn[j + 1])
                Swap(numIn[i], numIn[j + 1]);
        }
    int i = 1, j = 0, k = 1;     //i,j双指针,判断是否相等
    numOut[0] = numIn[0];         
    while (i < number) {
        if (numIn[j] == numIn[i]) {
            i++;
        } else {
            numOut[k] = numIn[i];   //k记录下标和个数
            j = i;
            k++;
        }
    }
    for (int i = 0; i < k; i++)
        cout << numOut[i] <<endl;
    return 0;
}

int Swap(int& a, int& b) {  //交换两个数字
    int c = a;
    a = b;
    b = c;
    return 0;
}

华为机试刷题实录 文章被收录于专栏

记录一下本科应届生(我自己)刷华为机试题的过程

全部评论

相关推荐

吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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