0
点赞
收藏
分享

微信扫一扫

《剑指Offer》学习记录—算法题:数组中的重复数字

橙子好吃吗 2022-01-22 阅读 82
面试

题目

示例

最简单的方法,排序后遍历:

#include <QDebug>
#include <QRandomGenerator>

//随机赋值,且使一些值重复
void randomAssignment(QList<int> & list,int maxValue)
{
    int size = list.size();
    for(int i = 0;i < size;++i)
    {
        list[i] = QRandomGenerator::global()->bounded(maxValue);
    }
    int repetitionNumber = QRandomGenerator::global()->bounded(1,size/3);//重复元素个数
    for(int i = 0;i < repetitionNumber;++i)
    {
        list[QRandomGenerator::global()->bounded(0,size)] = list[QRandomGenerator::global()->bounded(0,size)];
    }
}

int main(int argc, char *argv[])
{
    int n = 100;
    QList<int> list;
    list.resize(10);

    randomAssignment(list,n);

    qDebug()<<list;
    std::sort(list.begin(),list.end());
    qDebug()<<list;

    for(int i = 0;i < (list.size() - 1);++i)
    {
        if(list.at(i) == list.at(i+1))
            qDebug()<<"重复数字:"<<list.at(i);
    }
}

举报

相关推荐

0 条评论