对于一个数组,如果一个元素的值等于它在数组的出现次数,那么称这个元素是“不动点”。 小红拿到了一个数组,她想知道这个数组有多少个不动点?
第一行输入一个正整数 n ,代表数组的大小。 第二行输入 n 个正整数 a_i ,代表数组的元素。 1 ≤ n, a_i ≤ 100
一个整数,代表不动点的数量。
6 2 1 2 3 3 3
6
6 1 2 3 1 2 3
2
考点:数组 · 模拟
数据规模 n ≤ 100 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:模拟
不涉及复杂算法,把题目描述的流程原样翻译成代码逐步执行即可。
思路框架(模拟 通法 · 非本题专属)
实现要点:结构上通常是一个外层循环包住若干 if/else 分支;只要状态定义清楚,正确率很高。
复杂度:时间 O(操作次数) | 空间 O(状态数)
该范式的通法易错点
对照本题
样例 1
6 / 2 1 2 3 3 36样例 2
6 / 1 2 3 1 2 32解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2023年秋招-京东-技术通用岗位-第一批笔试。