zoukankan      html  css  js  c++  java
  • A1092

    可输入内容为0-9,a-z,A-Z。

    输入:

            第一行输入任意字符串;

            第二行输入期望字符串。

    输出:

            如果第一行包含了所有期望字符串,输出yes和多余字符个数;

            如果第一行不能完全包含期望字符串,输出缺失的字符个数。

    思路:

            记录第一行字符串每种字符个数,用HashTable数组记录;

            遍历第二行字符串,遍历一个就在HashTable里对应的元素-1,如果HashTable<0,miss++;

            miss>0,则输出no,反之则输出yes。

     1 #include<cstdio>
     2 #include<cstring>
     3 const int maxn=1010; 
     4 //第一个字符串中每种字符个数,miss为缺少的字符个数 
     5 int hashTable[80]={0},miss=0;
     6 //输入的字母和数字转化为HashTable的下标 
     7 int change(char c){
     8     if(c>='0'&&c<='9') return c-'0';
     9     if(c>='a'&&c<='z') return c-'a'+10;
    10     if(c>='A'&&c<='Z') return c-'A'+36;
    11 }
    12 
    13 int main(){
    14     char wh[maxn],tar[maxn];
    15     scanf("%s",wh);
    16     scanf("%s",tar);
    17     int len1=strlen(wh);
    18     int len2=strlen(tar);
    19     for(int i=0;i<len1;i++){//第一串中的每种字符串个数 
    20         int id=change(wh[i]);
    21         hashTable[id]++;
    22     }
    23     for(int i=0;i<len2;i++){
    24         int id=change(tar[i]);
    25         hashTable[id]--;
    26         if(hashTable[id]<0) miss++;
    27     }
    28     if(miss>0) printf("No %d
    ", miss);
    29     else printf("Yes %d
    ", len1-len2);
    30     return 0; 
    31 } 

           

  • 相关阅读:
    VIM 配色方案,先保存一下
    ncurses库的介绍与安装
    win7 设置双屏壁纸
    3. Vim入门教程
    2. Vim 概念扫盲
    把Debian 设置中文环境
    静态代码块和构造代码块的区别
    jsp详解(3个指令、6个动作、9个内置对象、11个隐式对象)
    JVM虚拟机详解
    Java 的内置对象
  • 原文地址:https://www.cnblogs.com/Lynn-2019/p/10386314.html
Copyright © 2011-2022 走看看