摘要:在上看到親密字符串,接下來(lái)對(duì)這個(gè)詞進(jìn)一步的了解,從而寫(xiě)下了這篇筆記。二是這兩個(gè)字符串不相等的情況。然后統(tǒng)計(jì)字母不一樣的數(shù)量是否為只需要交換兩個(gè)字母的位置,如果大于則不是親密字符串。
在leetCode上看到親密字符串,接下來(lái)對(duì)這個(gè)詞進(jìn)一步的了解,從而寫(xiě)下了這篇筆記。
親密字符串給定兩個(gè)由小寫(xiě)字母構(gòu)成的字符串 A 和 B ,只要我們可以通過(guò)交換 A 中的兩個(gè)字母得到與 B 相等的結(jié)果,就返回 true ;否則返回 false 。
提示:
A和B僅由小寫(xiě)字母構(gòu)成
只交換兩個(gè)字母
A和B的長(zhǎng)度相等
實(shí)現(xiàn)思路親密字符串幾乎是匹配的,這兩個(gè)字符串只有兩個(gè)索引的值不一樣(兩個(gè)字符串不是完全相等的情況下)
一共有兩種情況
一是兩個(gè)字符串完全相等。
在這種情況下,我們需要在一個(gè)字符串中尋找兩個(gè)相同的字母的索引,交換這兩個(gè)字母的位置,這兩個(gè)字符串還是相等的。
二是這兩個(gè)字符串不相等的情況。
首先,比較這兩個(gè)字符串,找出這兩個(gè)字符串不相等的字母的位置。然后統(tǒng)計(jì)字母不一樣的數(shù)量是否為2(只需要交換兩個(gè)字母的位置),如果大于2則不是親密字符串。找到不一樣的字母以后,在字符串A中交換這兩個(gè)字母的位置,然后比較是否相等,相等則是親密字符串
var A="abfdbc" var B="abcdbf" function buddyStrings(A, B) { if (A.length != B.length) { return false; } if (A === B) { for (let i = 0; i < A.length; i++) { for (let j = i + 1; j < A.length; j++) { if (A[i] === A[j]) { var charA = A[i] return A[i] } } } } else { var count = 0 var aString = [] var bString = [] for (let i = 0; i < A.length; i++) { if (A.charAt(i) !== B.charAt(i)) { aString[count] = A.charAt(i) bString[count] = B.charAt(i) count += 1 if (count > 2) { return false } } } if (aString[1] === bString[0] && aString[0] === bString[1] && count < 3) { return aString } else { return false } } } var a = buddyStrings(A, B) console.log(a)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96115.html
摘要:每日一題親密字符串鏈接親密字符串題目分析題目本身不是很難,但是有不少需要注意的地方,逐一來(lái)進(jìn)行分析。首先如果兩個(gè)字符串不一樣長(zhǎng),那么肯定是。 leetcode每日一...
摘要:解題思路一道并不簡(jiǎn)單的模擬題,需要考慮的情況總結(jié)下來(lái)有三種長(zhǎng)度不同返回完全相同且有重復(fù)字符返回字符串有不相等的兩個(gè)地方需要查看它們交換后是否相等即可。 解題思路:...
摘要:來(lái)了由秘猿科技與聯(lián)合主辦,亞洲第一屆大會(huì)將于月日在中國(guó)北京正式開(kāi)啟。將是一次亞洲社區(qū)的大聚會(huì),也因?yàn)榇舜未髸?huì),亞洲本土的社區(qū)連接到了全球其它地區(qū)的社區(qū)。未來(lái),我們將推進(jìn)到亞洲的其他國(guó)家,更好的促進(jìn)當(dāng)?shù)厣鐓^(qū)與全球社區(qū)的合作和互助。 showImg(https://segmentfault.com/img/bVbqUjV?w=1089&h=647); RustCon Asia 來(lái)了!由秘猿...
摘要:寫(xiě)在前面的是目前在行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)其靈活的數(shù)據(jù)存儲(chǔ)方式備受當(dāng)前從業(yè)人員的青睞。很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷胨枷朐谥忻恳粭l記錄都是一個(gè)對(duì)象。 寫(xiě)在前面的 Mongo DB 是目前在IT行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSql),其靈活的數(shù)據(jù)存儲(chǔ)方式備受當(dāng)前IT從業(yè)人員的青睞。Mongo DB很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷?OO思想),在Mongo DB中 每一條記錄...
閱讀原文 showImg(https://segmentfault.com/img/remote/1460000013763036?w=196&h=257); 1. 代碼應(yīng)當(dāng)易于理解 唯一標(biāo)準(zhǔn):讓別人理解的時(shí)間最小 2. 把信息裝到名字里 選擇專業(yè)的詞 避免泛泛的名字 使用具體的名字代替抽象的名字 為名字?jǐn)y帶更多的信息 名字的作用域越大,最好名字越長(zhǎng) 丟掉沒(méi)用的詞 單詞 更多選擇 ...
閱讀 2452·2021-11-22 09:34
閱讀 3063·2021-10-25 09:43
閱讀 1975·2021-10-11 10:59
閱讀 3361·2021-09-22 15:13
閱讀 2324·2021-09-04 16:40
閱讀 418·2019-08-30 15:53
閱讀 3186·2019-08-30 11:13
閱讀 2602·2019-08-29 17:30