中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Python中LeetCode的親密字符串

發布時間:2021-10-26 10:42:44 來源:億速云 閱讀:146 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關如何理解Python中LeetCode的親密字符串,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

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組成的列表,False表示相同位置元素不一致,即有一個差異值,這里只要保證False數量為2即可

2. A等于B時:

I. 不為空

II. 字符串內耽擱元素重復數量至少為2 (aa、aba、abab)

這里先將A去重之后再查詢其中的元素在初始字符串中出現的次數,返回由次數構成的列表,只要列表元素最大值大于等于2即可

如何理解Python中LeetCode的親密字符串

代碼:

#!/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的親密字符串就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

娄烦县| 洛川县| 高清| 鸡东县| 上思县| 从化市| 翁牛特旗| 金溪县| 天峨县| 南汇区| 霍林郭勒市| 清徐县| 碌曲县| 东源县| 高尔夫| 晋江市| 永城市| 紫阳县| 昌黎县| 乌拉特中旗| 九龙坡区| 剑川县| 宜兰市| 塘沽区| 金湖县| 鄂伦春自治旗| 罗定市| 公安县| 武强县| 石河子市| 安岳县| 宜春市| 新巴尔虎右旗| 霸州市| 古蔺县| 万荣县| 梁平县| 武安市| 东乌珠穆沁旗| 图片| 利津县|