序列找数-(招商银行2018)

题目:从非负序列0,1,2....n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数;
说明:输入n+1个非负数,第一个为该序列的最大值,输出为序列中没有出现的数字;
输入:3 3 0 1
输出:2
分析:对序列中的字符逐个判断;
代码实现:

package com.bj.zhaoshang;

import java.util.Scanner;

public class Test3 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        //1.读取数据
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        for (int i = 0; i < Integer.parseInt(str.substring(0, 1)); i++) {
            if (!str.contains(""+i)) {
                System.out.println(i);
                return;
            }
        }
        scan.close();
    }
}

效果:

3 3 1 0
2

知识点:
1.字符串的函数str.contains()以及str.substring(0, 1)
2.代码运行事假计算代码:

long startTime = System.currentTimeMillis();    //获取开始时间
long endTime = System.currentTimeMillis();    //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");    //输出程序运行时间

你可能感兴趣的:(序列找数-(招商银行2018))