题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

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

public class Program
{
    public static void Main()
    {
        var input = Console.ReadLine().Split(" ").ToList();
        var count = int.Parse(input[0]);
        var subList = new string[count];
        input.CopyTo(1, subList, 0, count);
        var x = input[count + 1];
        var k = int.Parse(input[count + 2]);

        var all = Arrange(x).Distinct().ToList();
        all.Remove(x);
        var result = new List<string>();
        foreach (var s in subList)
        {
            if (all.IndexOf(s) != -1)
            {
                result.Add(s);
            }
        }

        var ordered = result.OrderBy(r => r).ToList();
        Console.WriteLine(result.Count);
        if (k < ordered.Count)
        {
            Console.WriteLine(ordered[k - 1]);
        }
    }

    public static IList<string> Arrange(string input)
    {
        var arrangedList = new List<string>();
        for (var i = 0; i < input.Length; i++)
        {
            var t = input[i];
            var j = input.Remove(i, 1);
            if (j.Length > 2)
            {
                foreach (var k in Arrange(j))
                {
                    arrangedList.Add(t + k);
                }
            }
            else if(j.Length == 2)
            {
                arrangedList.Add($"{t}{j[0]}{j[1]}");
                arrangedList.Add($"{t}{j[1]}{j[0]}");
            }
            else
            {
                arrangedList.Add($"{t}{j[0]}");
            }
        }

        return arrangedList;
    }
}

全部评论

相关推荐

03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
喜欢核冬天的哈基米很想上市:会爆NullPointerException的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务