趣味字母卡片-拼多多笔试题

Posted lixyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了趣味字母卡片-拼多多笔试题相关的知识,希望对你有一定的参考价值。

趣味字母卡片-拼多多笔试题

小明给儿子小小明买了一套英文字母卡片(总共包含52张,区分大小写),小小明把卡片丢在地上玩耍,并从中取出若干张排成一排,形成了一个卡片序列。

此时,小明需要将卡片序列中的重复字母剔除(同一个字母的大小写只保留一个)。

请问,所有可能的结果中,字母序最小(不区分大小写)的序列的第一张卡片上是哪个字母?

输入格式

共一行,包含一个非空字符串,表示卡片序列,长度为N。

输出格式

共一行,包含一个字母(如果结果是大写字母,则需要转换成小写)。

数据范围

1≤N≤52

输入样例:

xaBXY

输出样例:

a

样例解释

剔除完后的结果是abxy。

java代码实现:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char[] s = sc.next().toCharArray();
        
        for(int i=0; i < s.length; i++) {
            if(s[i] < ‘a‘) s[i] = (char)(s[i] + 32);
        }
        for(char c = ‘a‘; c <= ‘z‘; c = (char)(c + 1)) {
            int k = 0;
            for(; k < s.length && s[k] != c; k++) ;
            if(k >  s.length-1 || s[k] != c) continue;
            int[] cnt = new int[128];
            for(int i=k; i < s.length; i++)
                cnt[s[i]]++;
            boolean can = true;
            for(int i=0; i < k; i++)
                if(cnt[s[i]] == 0) {
                    can = false;
                    break;
                }
            if(can) {
                System.out.println(c);
                break;
            }
        }
    }
}

以上是关于趣味字母卡片-拼多多笔试题的主要内容,如果未能解决你的问题,请参考以下文章

[Nowcoder] 大整数相乘(拼多多笔试题)

[Nowcoder] 最大乘积(拼多多笔试题)

JavaScript笔试题(js高级代码片段)

2022最全Java后端面试题总结(京东阿里字节美团拼多多等)

java笔试题:判断一个小写字母是元音字母还是辅音字母?

笔试题Java笔试题知识点