zoukankan      html  css  js  c++  java
  • 1092. To Buy or Not to Buy (20)-map

    给出两个字符串,判断第二个字符串中的字符是否都出现在第一个中。

    是,则输出Yes,以及多余的字符的个数。

    否,则输出No,以及缺失的个数。

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <string.h>
    using namespace std;
    const int maxn=1000+5;
    const int maxbeads=62;
    int numshop[maxbeads];
    int numeva[maxbeads];
    int vis[maxbeads];
    int main()
    {
        char shop[maxn],eva[maxn];
        scanf("%s %s",shop,eva);
        int len1=strlen(shop);
        int len2=strlen(eva);
        char ch;
        memset(numshop,0,sizeof(numshop));
        memset(numeva,0,sizeof(numeva));
        memset(vis,0,sizeof(vis));
        for(int i=0;i<len1;i++){
            ch=shop[i];
            if('0'<=ch&&ch<='9'){
                numshop[ch-'0']++;
            }
            else if('a'<=ch&&ch<='z'){
                numshop[ch-'a'+10]++;
            }
            else if('A'<=ch&&ch<='Z'){
                numshop[ch-'A'+36]++;
            }
    
        }
        for(int i=0;i<len2;i++){
            ch=eva[i];
            if('0'<=ch&&ch<='9'){
                numeva[ch-'0']++;
                vis[ch-'0']=1;
            }
            else if('a'<=ch&&ch<='z'){
                numeva[ch-'a'+10]++;
                vis[ch-'a'+10]=1;
            }
            else if('A'<=ch&&ch<='Z'){
                numeva[ch-'A'+36]++;
                vis[ch-'A'+36]=1;
            }
    
        }
        bool flag=true;
        int left=0,miss=0;
        for(int i=0;i<maxbeads;i++){
            if(!vis[i]){
                left+=numshop[i];
                continue;
            }
            if(numshop[i]>=numeva[i]){
                left+=numshop[i]-numeva[i];
            }
            else{
                miss+=numeva[i]-numshop[i];
                flag=false;
            }
        }
        if(flag)
            printf("Yes %d",left);
        else
            printf("No %d",miss);
        return 0;
    }
    View Code
  • 相关阅读:
    LeetCode Valid Sudoku
    接下来复习的重点
    leetcode:LRU Cache
    [leetcode] Insertion Sort List
    [QT Creator]LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 。
    [leetcode]Sort List
    李开复的七封信
    (归并排序)
    应聘面试自我介绍范文
    判断一颗二叉树是否是平衡二叉树
  • 原文地址:https://www.cnblogs.com/chenxiwenruo/p/6388818.html
Copyright © 2011-2022 走看看