language: C# (mono-2.8)
date: 181 days 14 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
 
public class Test
{
 
        public static void Main()
        {
        var list1 = new List<int>() { 1, 2, 3, 4 };
        var list2 = new List<int>() { 2, 3, 5, 6, 7, 8 };
        var list3 = new List<int>() { 3, 4, 5 };
        var all = new List<List<int>>() { list1, list2, list3 };
 
        int min = all.Min(l => l.Min());
        var max = all.Max(l => l.Max());
        int count = max - min + 1;
        
        List<int?> l1Result = new List<int?>(count);
        List<int?> l2Result = new List<int?>(count);
        List<int?> l3Result = new List<int?>(count);
        
        foreach (int val in Enumerable.Range(min, count))
        {
            if (list1.BinarySearch(val) >= 0)
                l1Result.Add(val);
            else
                l1Result.Add(new Nullable<int>());
        
            if (list2.BinarySearch(val) >= 0)
                l2Result.Add(val);
            else
                l2Result.Add(new Nullable<int>());
        
            if (list3.BinarySearch(val) >= 0)
                l3Result.Add(val);
            else
                l3Result.Add(new Nullable<int>());
        }
        
        Console.WriteLine(string.Join(",", l1Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
        Console.WriteLine(string.Join(",", l2Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
        Console.WriteLine(string.Join(",", l3Result.Select(i => !i.HasValue ? "NULL" : i.Value.ToString()).ToArray()));
        }
}