zoukankan      html  css  js  c++  java
  • 趣味字母卡片-拼多多笔试题

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

    小明给儿子小小明买了一套英文字母卡片(总共包含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;
                }
            }
        }
    }
    
  • 相关阅读:
    win10 uwp 获得缩略图
    win10 uwp 获取指定的文件 AQS
    win10 uwp 使用 Geometry resources 在 xaml
    WPF 如何画出1像素的线
    Windows 10 快捷键汇总表格
    要让CLR挂掉的话……
    UWP 分享用那个图标
    UWP 分享用那个图标
    PHP jdtogregorian() 函数
    PHP jdtojewish() 函数
  • 原文地址:https://www.cnblogs.com/lixyuan/p/12983242.html
Copyright © 2011-2022 走看看