题解 | #简单错误记录#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
golang 解法
package main import ( "bufio" "fmt" "os" "sort" "strings" ) func main() { bs := bufio.NewScanner(os.Stdin) for bs.Scan() { input := bs.Text() ret := "" mp := make(map[string]int) for _, i := range input { if _, ok := mp[string(i)]; ok { continue } n := strings.Count(input, string(i)) mp[string(i)] = n } //tmp tmp := make(map[int]string) for k, v := range mp { if _, ok := tmp[v]; ok { tmp[v] = tmp[v] + "|" + k } else { tmp[v] = k } } // slice 排序 var s []int for k := range tmp { s = append(s, k) } l := len(s) if l > 0 { sort.Ints(s) less := s[0] str := tmp[less] strs := strings.Split(str, "|") for _, i := range input { flag := false for _, s := range strs { if s == string(i) { flag = true continue } } if flag { continue } ret = ret +string(i) } } fmt.Println(ret) } }