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

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

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

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
    public static void Main()
    {
        var input = Console.ReadLine().ToList();
        var words = new HashSet<Word>();
        foreach (var word in input)
        {
            if (words.All(r => r.Letter != word))
            {
                words.Add(new Word(word, 1));
            }
            else
            {
                words.First(r => r.Letter == word).Num += 1;
            }
        }

        var minNum = words.Select(w => w.Num).Min();
        words.RemoveWhere(r => r.Num != minNum);
        input.RemoveAll(r => words.Select(w => w.Letter).Contains(r));
        Console.WriteLine(string.Join("", input));
    }

    public class Word
    {
        public char Letter;
        public int Num;

        public Word(char letter, int num)
        {
            Letter = letter;
            Num = num;
        }
    }
}

全部评论

相关推荐

群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
嘀哩咕噜说啥呢:27届,这简历,强的逆天,大厂实习随便冲,面经多少看点,hot100刷完,大厂随便挑了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务