Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法
本文實例講述了Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法。分享給大家供大家參考,具體如下:
描述:
實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少的字符,若多個字符出現(xiàn)次數(shù)一樣,則都刪除。輸出刪除這些單詞后的字符串,字符串中其它字符保持原來的順序。
輸入:
字符串只包含小寫英文字母, 不考慮非法輸入,輸入的字符串長度小于等于20個字節(jié)。
輸出:
刪除字符串中出現(xiàn)次數(shù)最少的字符后的字符串。
樣例輸入:
abcdd
樣例輸出:
dd
代碼實現(xiàn):
import (
"fmt"
)
func Test4Base() {
s := "abcfbcca"
result := deleteMinChars(s)
fmt.Println(result)
}
func deleteMinChars(s string) string {
countMap := make(map[rune]int, 0)
//統(tǒng)計出現(xiàn)次數(shù)
for _, v := range s {
countMap[v]++
}
//查找最少次數(shù)
var minCount int
for _, v := range countMap {
if minCount == 0 || v < minCount {
minCount = v
}
}
//刪除字符串中出現(xiàn)次數(shù)為minCount的字符
for i := len(s) - 1; i >= 0; i-- {
if countMap[rune(s[i])] == minCount {
s = s[:i] + s[i+1:]
}
}
return s
}
希望本文所述對大家Go語言程序設(shè)計有所幫助。
相關(guān)文章
文字解說Golang Goroutine和線程的區(qū)別
goroutine 是 Go語言中的輕量級線程實現(xiàn),由 Go 運行時(runtime)管理,使用每一個 go 關(guān)鍵字將會額外開啟一個新的協(xié)程 goroutine,今天通過本文給大家介紹下Golang Goroutine和線程的區(qū)別,感興趣的朋友一起看看吧2022-03-03一百行Golang代碼實現(xiàn)簡單并發(fā)聊天室
這篇文章主要為大家詳細介紹了一百行Golang代碼如何實現(xiàn)簡單并發(fā)聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08Golang?依賴注入經(jīng)典解決方案uber/fx理論解析
這篇文章主要為大家介紹了Golang依賴注入經(jīng)典解決方案uber/fx理論解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05Golang中時間戳與時區(qū)轉(zhuǎn)換的方法詳解
時間是我們生活的基石,而在計算機科學中,時間處理顯得尤為重要,尤其是當你在處理分布式系統(tǒng)、跨時區(qū)應(yīng)用和全球服務(wù)時,時間和時區(qū)的管理變得不可或缺,在這篇文章中,我們將深入探討Golang中的時間戳與時區(qū)轉(zhuǎn)換,需要的朋友可以參考下2024-06-06