【每天一道算法题】入门篇之找x

本专栏将会从基础开始,循序渐进,每天刷一道算法题,也请大家多多支持。算法虽然难,但只要肯坚持,一定能学好,希望大家都能够从中有所收获。
专栏地址:每日一道算法题专栏 数据结构专栏
相关数据结构演示软件:链接地址
如果文章知识点有错误的地方,请指正!大家一起学习,一起进步。
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

准备好了吗
Let’s go!
在这里插入图片描述

问题描述

输入一个数n(1≤n≤200),然后输入n个数值各不相同的数,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。

输入格式

测试数据有多组,输入n(1<n200),接着输入n个数,然后输入x。

输出样例输入

4
1 2 3 4
3

样例输出

2

相关知识点介绍

有时我们会碰到这样一种情况:给定一些元素,然后查找某个满足某条件的元素。这就是查找操作需要做的事情。查找是学习写代码的一项基本功,是肯定需要掌握的。一般来说,如果需要在一个比较小范围的数据集里进行查找,那么直接遍历每一个数据即可;如果需要查找的范围比较大,那么可以用二分查找等算法来进行更快速的查找。

思路解析

题目给定了n个互不相同的数,然后需要从中寻找值为x的数的下标。因此可以设定一个数组a,用来存放这n个数。然后遍历数组a,寻找某个下标k,使得[k]==x成立。如果找到,则输出k,并退出查询;如果当k遍历完之后还没有找到x,那么输出-1。

参考代码

import javafx.util.Pair;

import java.util.Scanner;

public class Main {
    
    
    public static int maxn = 210;
    public static int[] a = new int[maxn];

    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();//获取n个数
        for (int i=0;i<n;i++){
    
    
            a[i] = sc.nextInt();//输入n个数
        }
        int x = sc.nextInt();//要查找的数
        for(int i=0;i<n;i++){
    
    
            if(a[i] == x) {
    
    //如果找到了x
                System.out.println(i);//输出相应的下标
                break;
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Learning_xzj/article/details/124678422