private void RunTwo(MinXorUseTrie minXor) { Console.WriteLine("Elements of Two ====================="); int[] values; int min; values = new int[] { 3, 10, 5, 25, 2, 8 }; min = minXor.FindTwo(values); Console.WriteLine($"The min xor of {string.Join(",", values)} is {min}"); values = new int[] { 3, 10, 5, 25 }; min = minXor.FindTwo(values); Console.WriteLine($"The min xor of {string.Join(",", values)} is {min}"); values = new int[] { 3, 10, 5 + 16, 25 }; min = minXor.FindTwo(values); Console.WriteLine($"The min xor of {string.Join(",", values)} is {min}"); values = new int[] { 16 + 3, 16 + 10, 16 + 5, 25 }; min = minXor.FindTwo(values); Console.WriteLine($"The min xor of {string.Join(",", values)} is {min}"); values = new int[] { 10, 2, 8 }; min = minXor.FindTwo(values); Console.WriteLine($"The min xor of {string.Join(",", values)} is {min}"); }
public void Run() { Console.WriteLine("Trie ====================="); MinXorUseTrie minXor = new MinXorUseTrie(); RunTwo(minXor); // RunAnyOfArray(minXor); }
private void RunAnyOfArray(MinXorUseTrie minXor) { // Console.WriteLine("Elements of Array ====================="); // int[] values; // int maxWithTrie; // values = new int[] { 1, 2, 3, 4 }; // maxWithTrie = minXor.FindAnyOfArray(values); // Console.WriteLine($"The max xor of {string.Join(",", values)} is {maxWithTrie}"); // values = new int[] { 8, 1, 2, 12, 7, 6 }; // maxWithTrie = minXor.FindAnyOfArray(values); // Console.WriteLine($"The max xor of {string.Join(",", values)} is {maxWithTrie}"); // values = new int[] { 4, 6 }; // maxWithTrie = minXor.FindAnyOfArray(values); // Console.WriteLine($"The max xor of {string.Join(",", values)} is {maxWithTrie}"); // values = new int[] { 9, 7, 4, 3 }; // maxWithTrie = minXor.FindAnyOfArray(values); // Console.WriteLine($"The max xor of {string.Join(",", values)} is {maxWithTrie}"); }