期望个数统计(二)

解决方案

对于一个排好序的序列,对相同的数字随机打乱顺序后期望有多少个数字保持原位置不变。

题解

经过分析,我们发现不同能力值的简历是不会互相影响的,所以问题可以简化为有一个长度为n的数组,将里面的元素按照全排列随机排序后,问有多少个元素还在原位。

方法一:

排序 + 除重

C++ 实现

复制代码
class Solution {
public:
    int expectNumber(vector<int>& scores) {
        sort(scores.begin(), scores.end());
        return unique(scores.begin(), scores.end()) - scores.begin();
    }
};

复杂度分析

相关推荐
ambition20242几秒前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_3 分钟前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi3 分钟前
前缀和差分
算法·图论
代码旅人ing12 分钟前
链表算法刷题指南
数据结构·算法·链表
Yungoal17 分钟前
常见 时间复杂度计算
c++·算法
不爱吃炸鸡柳1 小时前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK2 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法
Dfreedom.2 小时前
计算机视觉全景图
人工智能·算法·计算机视觉·图像算法
Morwit2 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
无小道3 小时前
算法——暴力+优化
算法·优化·暴力