#2884. 例5:数组元素查找 2

例5:数组元素查找 2

说明

给出 n 个(不超过 100 个)正整数,输出整数 x 在序列中最后一次出现的位置(下标)。

输入格式

第一行,输入一个整数 n。 第二行,输入 n 个正整数,以空格分隔。 第三行,输入一个整数 x。

输出格式

共一行,一个整数,表示整数 x 在序列中最后一次出现的位置(下标)。位置索引从 0 开始计数。
5
1 2 3 2 1
2
3

提示

数据规模:1 ≤ n ≤ 100,所有数字均为正整数。 算法核心: - 定义数组 a[110] 存储数据(大小略超 100 以确保安全)。 - 从后往前遍历数组:使用 for 循环,索引 i 从 n-1 递减至 0。 - 检查条件 a[i] == x:一旦匹配,立即输出当前下标 i 并用 break 终止循环,确保只返回最后一次出现的位置。 - 与例 4 的对比:例 4 查找首次出现,采用顺序遍历;本例查找末次出现,采用逆序遍历。两者均依赖 break 在找到目标后及时跳出循环,避免无效后续检查。 - 全局变量建议:如之前例题所述,将数组定义为全局变量(main 函数外)可自动初始化为 0,避免未初始化值干扰。

💡 关键点提醒:逆向遍历时,循环起始索引为 i = n-1,终止条件为 i >= 0,确保覆盖全部元素。若序列中不存在 x,本题未明确要求,但通常可结合前文逻辑扩展处理(如输出 -1),但根据题目保证,x 至少会出现一次。

来源

一维数组例题