zoukankan      html  css  js  c++  java
  • 算法基础:删除字符串中出现次数最少的字符(Golang实现)

    描写叙述:
    实现删除字符串中出现次数最少的字符。若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串。
    字符串中其他字符保持原来的顺序。

    输入:
    字符串仅仅包括小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
    输出:
    删除字符串中出现次数最少的字符后的字符串。

    例子输入:
    abcdd
    例子输出:
    dd

    代码实现

    package huawei
    
    import (
    	"fmt"
    )
    
    func Test4Base() {
    	s := "abcfbcca"
    	result := deleteMinChars(s)
    	fmt.Println(result)
    }
    
    func deleteMinChars(s string) string {
    	countMap := make(map[rune]int, 0)
    	//统计出现次数
    	for _, v := range s {
    		countMap[v]++
    	}
    
    	//查找最少次数
    	var minCount int
    	for _, v := range countMap {
    		if minCount == 0 || v < minCount {
    			minCount = v
    		}
    	}
    
    	//删除字符串中出现次数为minCount的字符
    	for i := len(s) - 1; i >= 0; i-- {
    		if countMap[rune(s[i])] == minCount {
    			s = s[:i] + s[i+1:]
    		}
    	}
    
    	return s
    }
    


  • 相关阅读:
    实验三:UML 建模工具的安装与使用
    结对编程 第二阶段
    实验二:结对编程 第一阶段
    结对编程之github使用自己的仓库
    软工 实验一 Git代码版本管理
    第七次作业
    第5次作业
    第四次作业
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/7357064.html
Copyright © 2011-2022 走看看