题解 | #删除字符串中出现次数最少的字符#

删除字符串中出现次数最少的字符

https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

# 删除字符串出现次数最少的字符

input_str = input()

def letter_idea(raw_str):
    """方法1,利用全部字母遍历(在输入不出现英文字母以外的情况下有效)"""
    letters = [item for item in 'abcdefghijklmnopqrstuvwxyz']

    detail = dict()

    for letter in letters:
        num = raw_str.count(letter)
        if num == 0:
            pass
        elif num in detail.keys():
            detail[num].append(letter)
        else:
            detail[num] = [letter]

    # 所有字符出现次数全部相等,则打印原始字符串
    if len(detail) == 1:
        print(raw_str)
    else:
        min_num = min(detail.keys())
        for i in detail[min_num]:
            raw_str = raw_str.replace(i, '')
        print(raw_str)

def general_idea(raw_str):
    """方法2,通用方法"""
    detail, res = dict(), str()
    # 数据收集
    for s in raw_str:
        if s not in detail:
            detail[s] = 1
        else:
            detail[s] += 1
    min_num = min(detail.values())
    # 结果处理   
    if len(set(detail.values())) == 1:
        print(raw_str)
    else:
        for s in raw_str:
            if detail[s] != min_num:
                res += s
    # print(detail)
    print(res)


if __name__ == '__main__':
    letter_idea(input_str)
    general_idea(input_str)

全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务