蓝桥杯 BASIC-5 查找整数
【摘要】 试题 基础练习 查找整数提交此题 评测记录 资源限制时间限制:1.0s 内存限制:256.0MB问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否...
试题 基础练习 查找整数
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
解题思路如下--
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 接收数据
Scanner sc = new Scanner(System.in);
// 数组长度
int num = sc.nextInt();
// 定义ArrayList方便查找 用.indexOf 方法找到下表
// 存在即返回对应索引,不存在返回-1
ArrayList list = new ArrayList();
// for循环存入输入数组的各个数字
for (int i = 0; i < num; i++) {
list.add(sc.nextInt());
}
// 定义需要查找的数字
int selectNum = sc.nextInt();
// if判断如果 .indexOf(selectNum)返回结果大于(>)0,则为找到,根据题意进行+1,下标从1开始
if (list.indexOf(selectNum) > 0) {
System.out.println(list.indexOf(selectNum) + 1);
}
// if判断如果 .indexOf(selectNum)返回结果小于(<)0,则为找到,根据题意直接输出-1,不需要进行+1
else {
System.out.println(list.indexOf(selectNum));
}
}
}
最总测试效果如下
希望本篇文章能够帮助大家!
谢谢大家!
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)