コード例 #1
0
        public void TestMethod_DirectPosition(string input, string expected)
        {
            int[]        arr    = Array.ConvertAll(input.Split(' '), temp => Convert.ToInt32(temp));
            MinimumSwaps ms     = new MinimumSwaps();
            int          result = ms.MinSwapsDirect(arr);

            //0.015 seconds for array size 100000
            Assert.AreEqual(result.ToString(), expected);
        }
コード例 #2
0
        public void TestMethod_CompareToSortedArray(string input, string expected)
        {
            int[]        arr    = Array.ConvertAll(input.Split(' '), temp => Convert.ToInt32(temp));
            MinimumSwaps ms     = new MinimumSwaps();
            int          result = ms.MinSwapsCompareToOrderedArray(arr);

            // 7 seconds for for array size 100000
            Assert.AreEqual(result.ToString(), expected);
        }
コード例 #3
0
        public void Run()
        {
            PrintProblem();

            int result;

            Console.WriteLine("Number of elements:");
            d = Convert.ToInt32(Console.ReadLine());
            if (d == 0)
            {
                result = 0;
            }
            else
            {
                Console.WriteLine("array:");
                a = System.Array.ConvertAll(Console.ReadLine().Split(' '), aTemp => Convert.ToInt32(aTemp));

                result = MinimumSwaps.minSwaps(a);
            }
            Console.WriteLine();
            Console.WriteLine("Result:");
            Console.WriteLine(result);
            Console.ReadKey();
        }