[英]C# List Tuple Coding exercise
我是 Tuple 對象的新手。 我面臨一個 C# 元組編碼練習,不知道該怎么做。 有人可以給我一些建議或想法,我可以用作練習的起點嗎? 老實說,我什至不知道如何開始。 問題類似於以下:
List< Tuple<int,int> >
變量,其中包含[[1,2],[2,3],[4,5]]
。2
存在於第一個元組元素和第二個元組元素中,它會自動將第一個元組元素和第二個元組元素組合在一起,將它們合並到一個列表中。[1,2,3]
在第一個列表中[4,5]
在第二個列表中。例子:
Input: [[0,1],[0,5],[2,3],[3,4],[4,6]]
Output:
1st list: [2,3,4,6]
2nd list: [0,1,5]
有人可以告訴我如何開始嗎?
非常感謝。
這是一個應該這樣做的快速示例:
static void Main(string[] args)
{
List<Tuple<int, int>> input = new List<Tuple<int, int>>();
input.Add(new Tuple<int, int>(0, 1));
input.Add(new Tuple<int, int>(0, 5));
input.Add(new Tuple<int, int>(2, 3));
input.Add(new Tuple<int, int>(3, 4));
input.Add(new Tuple<int, int>(4, 6));
List<int> current = new List<int>();
List<List<int>> output = new List<List<int>>();
foreach(Tuple<int, int> T in input)
{
if (current.Count == 0 || current.Contains(T.Item1) || current.Contains(T.Item2))
{
current.Add(T.Item1);
current.Add(T.Item2);
}
else
{
current.Sort();
output.Add(current.Distinct().ToList());
current = new List<int>();
current.Add(T.Item1);
current.Add(T.Item2);
}
}
if (current.Count > 0)
{
current.Sort();
output.Add(current.Distinct().ToList());
}
foreach(List<int> set in output)
{
Console.WriteLine($"[{String.Join(",", set)}]");
}
Console.Write("Press Enter to Quit");
Console.ReadLine();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.