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))
  • 相关阅读:
    ES6的let命令
    html5的新标签
    text()和html()的区别,以及val()
    jquery链接多个jquery方法
    jquery实现动画
    jquery的滑动
    jquery实现淡入淡出
    jquery的hide()和show()
    jquery里面的名称冲突解决方法
    写给W小姐的一封信
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/13884632.html
Copyright © 2011-2022 走看看