蓝桥杯【基础练习】查找整数——Java使用BufferedReader加快运行速度

💖 喜欢我的文章,记得点赞👍+评论💬+收藏⭐️+关注😙の,你的反馈就是我不断更新的动力!💪 QQ/Wechat:235 40008 备注:CSDN 💖
问题描述: 点击进入原题

    给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

输入格式:

    第一行包含一个整数n。

    第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。

    第三行包含一个整数a,为待查找的数。

输出格式:

    如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。

样例输入:

6
1 9 4 8 3 9
9

样例输出:

2

数据规模与约定

1 <= n <= 1000。

题目解析:
    先将所有输入接收,再到数组中访问,当访问到第一个要查找的整数a即输出序号即可。
    我在下面的代码接收输入中使用了BufferedReader,加快运行速度,根据下面我的提交记录,即可看到,不懂的可以去搜下BufferedReader的使用,因为使用Java,会比C等语言慢很多。

在这里插入图片描述

//java版:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		String[] nums = br.readLine().split(" ");
		int m = Integer.parseInt(br.readLine());
		br.close();
		for (int i = 0; i < n ; ++i) {
			if (m == Integer.valueOf(nums[i])) {
				System.out.println(i+1);
				return ;
			}
		}
		System.out.println(-1);
		return ;
	}
}

   下面是未使用BufferedReader的代码,根据上面的运行时间即可看出来运行速度差异。
import java.util.Scanner;

public class Main {
	private static Scanner in;

	public static void main(String[] args) {
		in = new Scanner(System.in);
		int n = in.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = in.nextInt();
		}
		int x = in.nextInt();
		for (int i = 0; i < a.length; i++) {
			if (a[i] == x) {
				System.out.println(i + 1);
				return;
			}
		}
		System.out.println(-1);
	}
}
💖 喜欢我的文章,记得点赞👍+评论💬+收藏⭐️+关注😙の,你的反馈就是我不断更新的动力!💪 QQ/Wechat:235 40008 备注:CSDN 💖
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewGe6

动力源泉:打赏+关注+点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值