题解 | #查找兄弟单词#
查找兄弟单词
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; } }