golang 面試題(七)小公尺麵試題,字串

2021-10-05 21:28:30 字數 1967 閱讀 8572

給出乙個字串s(僅含有小寫英文本母和括號)。

請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字串,並返回最終的結果。

注意,您的結果中  不應  包含任何括號。

示例1:

輸入:s = "(abcd)"

輸出:"dcba"

示例2:

輸入:s = "(u(love)i)"

輸出:"iloveu"

s=> (uevoli) => iloveu

示例3:

輸入:s = "(i(op(pa))hs)"

輸出:"shopapi"

package main

import (

"fmt"

"time"

)func main()

//右括號為41

if runechar == 41

}//如果已經沒有右括號,輸出,結束。

fmt.println(string(runelist))

fmt.println(time.now())

return

} }}//字串顛倒

func stringinversion(runelist rune)(resultrunelistrune)

return runelist

}

單詞消消樂

時間限制:lsec /空間限制:256mb

題意:"一清二白,白頭偕老,老當益壯    ",牛牛和牛妹在玩成語接龍,但是牛妹因為語文不好總是輸,於是她想出了乙個新的遊戲去和牛牛玩,

牛妹會給牛牛n個單詞,牛妹要求牛牛將這n個單詞按照以下方式合併:

1. 從左往右合併單詞,將合併後的單詞作為第乙個單詞再與後面單詞合併

例如有三個單詞"a", "b", "c",先將"ab"合併,最後將合併後的"ab"與"c"合併得到"abc"。

2. 如果最左邊單詞結尾字母與其後面乙個的單詞的開始字母相同,則最左邊單詞的結尾字母與之後乙個單詞的開始字母都會抵消掉而消失,

重複上述操作直到某乙個單詞為空或者最左端的結尾字母與之後單詞的開始字母不同,然後合併這兩個單詞作為乙個單詞放置再最左邊。

例如"aab" "bac"合併之後會得到"ac"

輸入:以vector< string >的形式給定n個單詞

輸出:返回最終合併後的單詞。

若為空則返回乙個空串。

示例1 輸入

["aab","bac","ccd"]

輸出"acd"

說明"aab"與"bac"合併得到"ac"

"ac"再與"ccd"合併得到"acd"

package main

import (

"fmt"

"time"

)func main()

leftrune := rune(givenstringlist[0])

//從第二個字串開始遍歷

for i := 1; i < len(givenstringlist); i++

fmt.println(string(leftrune))

fmt.println(time.now())

}//字串合併

func stringmerge (leftrune,rightrune rune)(resultrune rune) else else

} }return resultrune

}

@不知道時間和空間的限制是否滿足,歡迎指正。

小公尺麵試題 Git樹分割點

git是一種分布式 管理工具,git通過樹的形式記錄檔案的更改歷史,比如 base base a a b b 小公尺工程師常常需要尋找兩個分支最近的分割點,即base.假設git 樹是多叉樹,請實現乙個演算法,計算git樹上任意兩點的最近分割點。假設git樹節點數為n,用鄰接矩陣的形式表示git樹 ...

小公尺麵試題 手機分身,電話號碼隱藏。

小公尺麵試題 手機分身,號碼隱藏。0 9分別對應zero,one,two,nine 為保證手機撥號安全性,撥號後,存為對應的字串,並打亂順序,保證安全性。現在給定乙個字串,求最小的數字組合 例 twoone otnwoe 1212 分析 關鍵字搜尋 第一次第二次 第三次0 zero z1 one o...

小公尺麵試題 朋友圈問題 並查集

假如已知有n個人和m對好友關係 存於數字r 如果兩個人是直接或間接的好友 好友的好友的好友.則認為他們屬於同乙個朋友圈,請寫出程式求出這n個人裡一共有多少朋友圈。例如 n 5,m 3,r 表示有5個人,1和2是好友,2和3是好友,4和5是好友。則1,2,3屬於乙個朋友圈,4,5屬於另乙個朋友圈,結果...