經典面試題golang實現方式(一)

2021-08-13 04:18:53 字數 2230 閱讀 1564

以下所有題目的關鍵資訊都會用【】括起來,我們不對題目進行分析,只給出題目的解決方案;如有疑問請不吝賜教。

題目:

請實現乙個演算法,確定乙個字串的所有字元【是否全都不同】。這裡我們要求【不允許使用額外的儲存結構】。給定乙個string,請返回乙個bool值,true代表所有字元全都不同,false代表存在相同的字元。保證字串中的字元為【ascii字元】。字串的長度小於等於【3000】。

**實現:

package main

import (

"fmt"

"strings"

)func isuniquestr(s string) bool

for _, v := range s

if strings.count(s, string(v)) >1

}return

true

}func main()

執行結果:

true

false

題目:

請實現乙個演算法,在不使用【額外資料結構和儲存空間】的情況下,翻轉乙個給定的字串(可以使用單個過程變數)。

給定乙個string,請返回乙個string,為翻轉後的字串。保證字串的長度小於等於5000。

**實現:

package main

import (

"fmt"

)func reverstring(s string) (string, bool)

for i :=0; i < len

/2; i++

return

string(str), true

}func main()

執行結果:

gnalog si siht  true

this is golang true

題目:

給定兩個字串,請編寫程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。這裡規定【大小寫為不同字元】,且考慮字串重點空格。給定乙個string s1和乙個string s2,請返回乙個bool,代表兩串是否重新排列後可相同。保證兩串的長度都小於等於5000。

**實現:

package main

import (

"fmt"

"strings"

)func isregroup(s1, s2 string) bool

for _, v := range s1

}return

true

}func main()

執行結果:

true

false

false

題目:

請編寫乙個方法,將字串中的空格全部替換為「%20」。假定該字串有足夠的空間存放新增的字元,並且知道字串的真實長度(小於等於1000),同時保證字串由【大小寫的英文本母組成】。給定乙個string為原始的串,返回替換後的string。

**實現:

package main

import (

"fmt"

"strings"

"unicode"

)func replaceblank(s string) (string, bool)

for _, v := range s

}return strings.replace(s, " ", "%20",-1), true

}func main()

執行結果:

hello%20world   true

hello,world false

經典面試題golang實現方式(二)

ps 接下來的文章都已這種方式呈現,不再對題目做任何說明解釋 題目對應實現 如下 package main import fmt 給定乙個整數數列,找出其中和為特定值的那兩個數。你可以假設每個輸入都只會有一種答案,同樣的元素不能被重用。示例 給定 nums 2,7,11,15 target 9 因為...

經典面試題 memcpy實現

1說明 memcpy是記憶體拷貝的函式,給兩個位址和一定長度進行記憶體上的複製,不論什麼型別都能複製,並且有返回值 2用法char dest 20 char ss 13 hello world memcpy dest,ss,sizeof ss 3實現 不考慮記憶體覆蓋版本 void memcpy v...

經典面試題

1.以下三條輸出語句分別輸出什麼?char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 ...