這篇文章將為大家詳細講解有關如何理解Python中LeetCode的親密字符串,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯(lián)建站服務項目包括華州網(wǎng)站建設、華州網(wǎng)站制作、華州網(wǎng)頁制作以及華州網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,華州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到華州省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
Title: 給定兩個由小寫字母構成的字符串A和B,只要我們可以通過交換A中的兩個字母得到與B相等的結果,就返回true;否則返回false。 Input: A = "ab", B = "ba" Output: true From: LeetCode
1. A不等于B時:
I. 長度必須保持一致
II. 組成元素保持一致
III. 兩者之間的差異值必須為2(ab、ba)
這里利用正則表達式逐一查詢B中相同位置的元素是否與A相同,返回一個由True、False組成的列表,F(xiàn)alse表示相同位置元素不一致,即有一個差異值,這里只要保證False數(shù)量為2即可
2. A等于B時:
I. 不為空
II. 字符串內耽擱元素重復數(shù)量至少為2 (aa、aba、abab)
這里先將A去重之后再查詢其中的元素在初始字符串中出現(xiàn)的次數(shù),返回由次數(shù)構成的列表,只要列表元素最大值大于等于2即可
代碼:
#!/usr/bin/env python # -*- coding:utf-8 -*- ''' @author: maya @software: Pycharm @file: intimateStrings.py @time: 2019/7/24 8:31 @desc: ''' ''' Title: 給定兩個由小寫字母構成的字符串A和B,只要我們可以通過交換A中的兩個字母得到與B相等的結果,就返回true;否則返回false。 Input: A = "ab", B = "ba" Output: true From: LeetCode ''' import re class Solution(object): def buddyStrings(self, A, B): """ :type A: str :type B: str :rtype: bool """ equal_result = [True if re.search(data, B[A.index(data)]) else False for data in A] num_result = [len(re.findall(data, A)) for data in list(set(A))] return True if (A != B and (len(A) == len(B)) and (set(A) == set(B) and equal_result.count(False) == 2)) \ or (A == B != "" and max(num_result) >= 2) else False
關于如何理解Python中LeetCode的親密字符串就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。