zoukankan      html  css  js  c++  java
  • # 859.亲密字符串

    # 859.亲密字符串
    # 给定的两有小写字符组成的字符串A和B,只要我们可以交换A洪的2个字母得到与B相同的结果,就返回True;否则返回False。
    def buddyStrs(A,B):
        if len(A) != len(B):
            return False
        #设置双指针滑动比较
        i,j = 0,0
        count = 0
        Hash = {}
        CharA = []
        CharB = []
        #字符串的比较
        while i < len(A) and j < len(B):
            if A[i] != B[j]:
                count += 1
                CharA.append(A[i])
                CharB.append(B[j])
                # AB至少有2个字符串不相同,交换后仍不相等,返回False
                if count > 2:
                    return False
            i += 1
            j += 1
        # AB只有1个字符串不相同,交换后仍不相等,返回False
        if count == 1:
            return False
        # AB只有2个字符串不相同
        if count == 2:
            if CharA[0] == CharB[1] and CharA[1] ==CharB[0]:
                return True
        # A=B,判断A里面是否有重复的字符串,有则返回T,否则返回F
        if count == 0:
            # A去重后,长度小于A,则表示A里面有重复字符串,返回T;否则则无重复字符串,返回F
            if len(set(A)) < len(A):
                return True
            return False
    
    
    if __name__=="__main__":
        a = "aaaaaabc"
        b = "aaaaaacb"
        c = "abab"
        d = "abab"
        print(buddyStrs(a,b))
        print(buddyStrs(c, d))
  • 相关阅读:
    【转载】褪去华衣 裸视学习 探讨系列
    最简单的视频网站(JavaEE+FFmpeg)
    过段时间要换博客了
    计网3
    计网1
    物理层计算题
    计网4
    子网划分与CIDR
    百度=残留在墙后的垃圾
    计网2
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/13884632.html
Copyright © 2011-2022 走看看