题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
public class Program {
public static void Main() {
string line;
while ((line = System.Console.ReadLine ()) != null) { // 注意 while 处理多个 case
OnFunc1(line);
}
}
public static void OnFunc1(string line)
{
string[] lines=line.Split(' ');
string[] arr=new string[int.Parse(lines[0])];
string a=lines[lines.Length-2];
int index=int.Parse(lines[lines.Length-1]);
for(int i=0;i<arr.Length;i++)
{
arr[i]=lines[i+1];
}
//Console.WriteLine(string.Join(" ", arr));
List<string> list=new List<string>();
foreach(var item in arr)
{
if(IsBrotherWord(item,a))
{
list.Add(item);
}
}
string[] strs=list.ToArray();
Array.Sort(strs,string.CompareOrdinal);
Console.WriteLine(strs.Length);
if(strs.Length>=index)
{
Console.WriteLine(strs[index-1]);
}
}
public static bool IsBrotherWord(string line,string line1)
{
bool bret=false;
if(line==line1)
return false;
if(line.Length!=line1.Length)
return false;
char[] arr=line.ToCharArray();
char[] arr1=line1.ToCharArray();
Array.Sort(arr);
Array.Sort(arr1);
return arr.SequenceEqual(arr1);
//return bret;
}
}
查看22道真题和解析