基础练习 查找整数

基础练习 查找整数

时间限制:1.0s 内存限制:256.0MB

问题描述

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

第一行包含一个整数n。

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

第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。


实现代码

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
    static Scanner s = new Scanner(System.in);
    public static void main(String[] args) {
        int n = s.nextInt(); //n个整数
        if(n < 1 || n>1000) {
            return;
        }
        int nums[] = new int[n];
        for(int i=0; i<n; i++) {
            nums[i] = s.nextInt();  //录入数字
        }
        int target = s.nextInt(); //输入目标匹配
//      int count = 0; //结果
//      int index = 0;
//      Arrays.sort(nums);
        for(int i=0; i<n; i++) {
            if(nums[i] == target) {
                System.out.println(i+1);
                return;
            } 
        }
        System.out.println(-1);

//      int index = 0;
//      fun(nums, index, target, count);
    }
    /*private static void fun (int[] nums, int index, int target, int count) {

        if((index = Arrays.binarySearch(nums, target)) != -1){
            count ++;
            int[] copyNums = Arrays.copyOfRange(nums, (index+1), nums.length);
            fun(copyNums, index, target, count);
        } else {
            System.out.println(count);
            return;
        }
    }*/
}

算法思路

  1. 这个题,开始我把他想复杂了,我以为是需要查找整数的个数,没想到是找第一次出现的位置
  2. 我注释掉的代码是用来寻找整数的个数的。这个题目解题方法很多,最简单的方法就是把输入的数组放入一个String对象中,然后用indexOf()方法就可以了。我采用的是遍历数组的方法
  3. 这个题目有一个可能被大家忽略的地方,就是未找到整数时,需要输出-1,但如果用String对象来做的话就没用必要输出-1,然后indexOf()方法,如果找不到就是返回-1.
  4. 别忘了程序健壮性原则,应该对题目给出的数据范围做出相应的处理。
    注:本程序原理不是很难,所以加的注释不算多,本人一向相信一个观念——不加注释的程序,不叫程序。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值