zoukankan      html  css  js  c++  java
  • 确定两串乱序同构 牛客网 程序员面试金典 C++ Python

    确定两串乱序同构 牛客网 程序员面试金典 C++ Python

    • 题目描述

    • 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串中的空格。

    • 给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。

    • 测试样例:

    • "This is nowcoder","is This nowcoder"

    • 返回:true

    • "Here you are","Are you here"

    • 返回:false

    C++

    class Same {
    public:
        //run:8ms memory:484k
        bool checkSam(string stringA, string stringB){
            if("" == stringA && "" == stringB) return true;
            int sizeA = stringA.size();
            int sizeB = stringB.size();
            if(sizeA != sizeB) return false;
            int A[256] = {0};
            for(int i =0;i<sizeA;i++){
                A[stringA[i]]++;
                A[stringB[i]]--;
            }
            for(int i = 0; i<256;i++)
                if(A[i] != 0) return false;
            return true;
        }
    };

    Python

    class Same:
        def checkSam(self, stringA, stringB):
            if("" == stringA and "" == stringB): return True
            sizeA = len(stringA)
            sizeB = len(stringB)
            if(sizeA != sizeB): return False
            lt=[0] * 256
            for i in range(0,sizeA):
                lt[ord(stringA[i])] +=1
                lt[ord(stringB[i])] -=1
            for i in range(0,256):
                if lt[i] != 0: return False
            return True
  • 相关阅读:
    为了博多
    [JSOI2008]星球大战starwar
    【网络流24题】最小路径覆盖问题
    【中学高级水题本】关路灯
    【网络流24题】分配问题
    【网络流24题】方格取数问题
    【网络流24题】汽车加油行驶
    [洛谷P2057][bzoj1934]善意的投票(最大流)
    LeetCode(38) Count and Say
    LeetCode(36)Valid Sudoku
  • 原文地址:https://www.cnblogs.com/vercont/p/10210310.html
Copyright © 2011-2022 走看看