摘要:實(shí)現(xiàn)其中關(guān)鍵點(diǎn)定義保存最后判斷兩個(gè)字符串是否相同的長(zhǎng)度的取值根據(jù)表可以知道第一個(gè)單字符的進(jìn)制值位最后一個(gè)單字符進(jìn)制值位得到之間的差值為這里預(yù)測(cè)每個(gè)字符都被使用到了所以長(zhǎng)度直接定義為了實(shí)現(xiàn)和上面類似歡迎加入學(xué)習(xí)交流群,大家一起學(xué)習(xí)交流。
GoLang 實(shí)現(xiàn)
func solution(s , t string)bool{
if s == t { return true } length := len(s) if length != len(t) { return false } //" " 32 --> ~ 126 const MAX_ASCII int= 94 const SPACE_INDEX rune = 32 numbers := [MAX_ASCII]int{} sRune := []rune(s) tRune :=[]rune(t) for i := 0 ; i < length ; i++ { index := tRune[i] - SPACE_INDEX numbers[index]++ index = sRune[i] - SPACE_INDEX numbers[index]-- }
for i := 0 ; i < MAX_ASCII / 2 ; i++{ mergeSize := numbers[i] if mergeSize != 0 || mergeSize != numbers[MAX_ASCII - 1 - i]{ return false } } return true
}
其中關(guān)鍵點(diǎn)1 :
定義保存最后判斷兩個(gè)字符串是否相同的 長(zhǎng)度的取值:
根據(jù)ASCII 表可以知道:
第一個(gè)單字符 " " 的10 進(jìn)制值位32 , 最后一個(gè)單字符 "~" 10進(jìn)制值位 126 , 得到之間的差值為 94 ,
這里預(yù)測(cè)每個(gè)字符都被使用到了, 所以長(zhǎng)度直接定義為 94了.
Java 實(shí)現(xiàn) 和上面類似:
public boolean anagram(String s, String t) {
if (s == null || t == null || s.length() ==0 || s.length() != t.length()){ return false; } if (s.equals(t))return true; final int MAX_ASCII = 94; final char SPACE_INDEX = " "; int[] numbers = new int[MAX_ASCII]; int length = s.length(); char[] sCharArray = s.toCharArray(); char[] tCharArray = t.toCharArray(); for(int i = 0 ; i< length ; i++){ int index = sCharArray[i] - SPACE_INDEX; numbers[index]++; index = tCharArray[i] - SPACE_INDEX; numbers[index]--; } for (int i =0 ; i < MAX_ASCII / 2 ; i++ ) { int mergeSize = numbers[i]; if ( mergeSize != 0 || mergeSize != numbers[MAX_ASCII - 1 - i]){ return false; } } return true; }
歡迎加入學(xué)習(xí)交流群569772982,大家一起學(xué)習(xí)交流。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67651.html
Map接口 Map是將鍵映射到值的對(duì)象,map不能包含重復(fù)的鍵:每個(gè)鍵最多可以映射一個(gè)值,它模擬數(shù)學(xué)函數(shù)抽象。Map接口包括基本操作的方法(如put、get、remove、containsKey、containsValue、size和empty),批量操作(如putAll和clear)和集合視圖(如keySet、entrySet和values)。 Java平臺(tái)包含三個(gè)通用Map實(shí)現(xiàn):HashMap...
摘要:遇到問(wèn)題查查,看看,大神的講解問(wèn)問(wèn)島胖君下面是我最近整理出來(lái)的關(guān)于字符串的文章的怎么翻譯匯集目錄非常希望強(qiáng)化博客的功能,比如分類,置頂。 雖是讀書筆記,但是如轉(zhuǎn)載請(qǐng)注明出處 http://segmentfault.com/blog/exploring/ .. 拒絕伸手復(fù)制黨 最近在看算法和語(yǔ)言,基本屬于看知識(shí) --> java實(shí)現(xiàn) --> 整理blog 這個(gè)路線。 遇到問(wèn)題查查st...
摘要:字符串簡(jiǎn)介內(nèi)置類型,不可理性,要更改的話考慮轉(zhuǎn),之類對(duì)來(lái)說(shuō),一個(gè)的范圍,位面試題總體分析和數(shù)組相關(guān),內(nèi)容廣泛概念理解字典序,哪個(gè)排在字典前面,哪個(gè)字典序就小簡(jiǎn)單操作插入刪除字符,旋轉(zhuǎn)規(guī)則判斷羅馬數(shù)字轉(zhuǎn)換,是否是合法的整數(shù)浮點(diǎn)數(shù)數(shù)字運(yùn)算套數(shù)加 字符串簡(jiǎn)介 String 內(nèi)置類型,不可理性,要更改的話考慮轉(zhuǎn)StringBuffer,StringBuilder,char[]之類 對(duì)java來(lái)...
摘要:但是在與此同時(shí)出現(xiàn)了然后隨著的出現(xiàn),又更名為,真的是百家爭(zhēng)鳴那。采用文件來(lái)追蹤依賴,而不是的和文件。然而他們并不想提交大量的文件,因?yàn)殒湸a程序僅僅是個(gè)小的代碼庫(kù)。想必在年會(huì)逐漸替換以及中的,希望可以終結(jié)混亂的包管理機(jī)制。 作者: TopJohn原文連接:https://www.xuanzhangjiong.to... Fabric與dep 個(gè)人感受 接觸Golang有2年時(shí)間了,從最...
閱讀 1071·2021-11-24 09:39
閱讀 3504·2021-10-27 14:20
閱讀 2396·2019-08-30 14:08
閱讀 3470·2019-08-29 16:34
閱讀 2282·2019-08-26 12:14
閱讀 2189·2019-08-26 11:54
閱讀 2866·2019-08-26 11:44
閱讀 2552·2019-08-26 11:38