蓝桥杯——BASIC-5——基础练习 查找整数

举报
fightingn 发表于 2022/02/22 22:07:53 2022/02/22
【摘要】 问题描述:给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式:第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式:如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。数据规模与约定:1 <= n <= 1000。代码如下:package day;impo...
问题描述:

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

输入格式:

第一行包含一个整数n。

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

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

输出格式:
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
数据规模与约定:1 <= n <= 1000。
代码如下:
package day;

import java.util.Scanner;

public class day3 {

	public static void main(String[] args) {
         //基础练习 查找整数
        boolean b = false;
        int count = 0;
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        int arr[] = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = s.nextInt();
        }
        int num = s.nextInt();
        for (int i = 0; i < n; i++) {
            if (num == arr[i]) {
                b = true;
                count = i + 1;
                break;
            }
        }
        if (b) {
            System.out.println(count + " ");
        } else {
            System.out.println(-1);
        }
   }
}
样例输入:
6
1 9 4 8 3 9
9
样例输出:
2
运行结果如下:

Snipaste_2022-02-22_22-07-25.png

做题做多了就发现,题都挺简单,但是,如果用小白的思维,就会很麻烦。边做边看看别人做的,就会有一些长进的。 

这个题,很容易就输出了第一个位置在哪儿。但稍微难一些的是如果没有需要输出-1。

本来我的想法是循环前赋一个值为0。如果找到就+1。最后判断,如果是0就输出-1。

但是当我看了别人的方法,就感觉超级好,是我没想到的所以就借鉴了思路,结果非常的成功。就是循环前赋个值为0,然后用这个值做循环。循环完,如果没有中途退出,那这个值最终肯定还是n,以此判断是否需要输出-1。感觉代码省了好几行。

加油!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。