2018年美团点评春招第二题字符数字

第二题:数字字符

题目:

在十进制表示中,任意一个正整数都可以用字符‘0’-‘9’表示出来。但是当‘0’-‘9’这些字符每种字符的数量有限时,可能有些正整数就无法表示出来了。比如你有两个‘1’,一个‘2’ ,那么你能表示出 11,12,121 等等,但是无法表示出 10,122,200 等数。 
  
现在你手上拥有一些字符,它们都是‘0’-‘9’的字符。你可以选出其中一些字符然后将它们组合成一个数字,那么你所无法组成的最小的正整数是多少?

输入描述:

第一行包含一个由字符’0’-‘9’组成的字符串,表示你可以使用的字符。1 ≤ 字符串长度 ≤ 1000

输出描述:

输出你所无法组成的最小正整数。

样例:

in:
55
out:
1
in:
123456789
out:
10
 

import java.util.Scanner;

/*
*  文件名 :NUM  2018年美团点评春招第二题
*  作者:Anderson
*  创建日期:2018/3/23
*  功能说明:
*/
public class NUM {
    public static void main(String[] args){
        char c[];
        int su =0;
        int num[]=new int[10];
        for (int i =0;i<10;i++){
            num[i]=0;
        }
        Scanner input = new Scanner(System.in);
        String s1 =input.next();
        char s[] = s1.toCharArray();
        int len = s.length;
        for (int i =0;i<len;i++)
            num[s[i]-'0']++;
        for (int i=1;i<9;i++)
            if (num[i]==0){
            System.out.print(i);
            break;}
            else if (num[0]==0&&num[i]!=0){
                System.out.print(i*10);
                break;
            }
            



    }
}

主要思想:字符可多次相同输入,考虑用数组记录出现次数。根据判断,不能组成的整数,只有两种,、

1、个位数 1-9未出现,是为了排除正整数不含零的情况

2、仅0出未出现,考虑出现最小个数乘以10

未测试时间,只在本地测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值