public void TestLengthOfLongestSubstring()
        {
            string s        = "abcabcbb";
            int    excepted = 3;

            Assert.Equal(excepted, TwoPointers.LengthOfLongestSubstring(s));
        }
Exemplo n.º 2
0
        static TwoPointers GetOnePointer()
        {
            var a = new TwoPointers();

            a.a = new String("TestOnePointer Passed");
            return(a);
        }
        public void TestMinWindow()
        {
            string s = "cabwefgewcwaefgcf";
            string t = "cae";

            Assert.Equal("cwae", TwoPointers.MinWindow(s, t));
        }
        public void TwoSortedArrayInterset()
        {
            Random rand = new Random();
            int    n1   = 3;
            int    n2   = 5;

            //int[] nums1 = new int[n1];
            //int[] nums2 = new int[n2];
            //for (int i = 0; i < n1; i++)
            //{
            //    nums1[i] = rand.Next(n1);
            //}
            //for (int i = 0; i < n2; i++)
            //{
            //    nums2[i] = rand.Next(n2);
            //}
            //Array.Sort(nums1);
            //Array.Sort(nums2);

            int[] nums1 = { 2, 4, 5, 5, 7, 8, };
            int[] nums2 = { 3, 5, 5, 8, 10, };

            int[] Interset = nums1.Intersect(nums2).ToArray();

            Assert.Equal(Interset, TwoPointers.TwoSortedArrayInterset(nums1, nums2));
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            Console.WriteLine("----------------------START ALGORITHM TESTS----------------------");

            SelectionSort.RunTests();
            InsertionSort.RunTests();
            Factorial.RunTests();
            Palindrome.RunTests();
            Recursion.RunTests();
            MergeSort.RunTests();
            QuickSort.RunTests();
            BreadthFirstSearch.RunTests();

            Console.WriteLine("----------------------END ALGORITHM TESTS----------------------");
            Console.WriteLine("----------------------START PATTERN TESTS----------------------");

            BFS.RunTests();
            DFS.RunTests();
            SlidingWindow.RunTests();
            TwoPointers.RunTests();

            FastSlowPointers.RunTests();
            MergeIntervals.RunTests();

            Console.WriteLine("----------------------END PATTERN TESTS----------------------");
        }
        public void TestReverseVowels()
        {
            string s = "hello";

            string excepted = "holle";

            Assert.Equal(excepted, TwoPointers.ReverseVowels(s));
        }
        public void TestPalindrome()
        {
            string s = "0P";

            bool excepted = true;

            Assert.Equal(excepted, TwoPointers.ValidPalindrome(s));
        }
        public void TestMinSubArrayLen()
        {
            int[] nums = { 2, 3, 1, 2, 4, 3 };

            int excepted = 2;

            Assert.Equal(excepted, TwoPointers.MinSubArrayLen(7, nums));
        }
Exemplo n.º 9
0
        static TwoPointers GetTwoPointersStruct()
        {
            var a = new TwoPointers();

            a.a = new String("TestTwoPointers");
            a.b = new string("Passed");
            return(a);
        }
        public void TestFindAnagrams()
        {
            String s = "cbaebabacd";
            string p = "abc";

            Assert.Equal(new List <int>()
            {
                0, 6
            }, TwoPointers.FindAnagrams(s, p));
        }
Exemplo n.º 11
0
        private static int GetDefaultStructLayoutPack()
        {
            int measureCount           = 128;
            int maxPack                = 128;
            int allocationToPackFactor = 4;

            TwoPointers[] objects       = new TwoPointers[16384];
            int[]         packCounts    = new int[maxPack];
            int           bestPack      = 0;
            int           bestPackCount = 0;

            for (int i = 0; i < measureCount; i++)
            {
//        for (int j = 0; j<objects.Length; j++)
//          objects[j] = null;
                long mem = GetFreeMemory();
                for (int j = 0; j < objects.Length; j++)
                {
                    objects[j] = new TwoPointers();
                }
                try {
                    long memDiff = GetFreeMemory() - mem;
                    int  pack    = (int)(memDiff / (allocationToPackFactor * objects.Length));
                    if (pack < 1 || pack > maxPack)
                    {
                        continue;
                    }
                    packCounts[pack]++;
                    if (bestPackCount < packCounts[pack])
                    {
                        bestPack      = pack;
                        bestPackCount = packCounts[pack];
                    }
                }
                catch (ArithmeticException) {
                }
            }
            if (bestPack < 1 || bestPack > maxPack)
            {
                CoreLog.Warning("Suspicious RuntimeInfo.DefaultStructLayoutPack value is detected: {0}", bestPack);
                bestPack = 4;
            }
            return(bestPack);
        }
 public void TestContainsNearbyDuplicate()
 {
     int[] nums = { 1, 2, 3, 1 };
     Assert.Equal(true, TwoPointers.ContainsNearbyDuplicate(nums, 3));
 }
 public void TestIsHappy()
 {
     Assert.True(TwoPointers.IsHappy(2));
 }
 public void TestWordPattern()
 {
     Assert.True(TwoPointers.WordPattern("abba", "dog cat cat dog"));
 }
 public void TestFrequencySort()
 {
     Assert.Equal("", TwoPointers.FrequencySort("tree"));
 }
 public void TestThreeSum()
 {
     int[] nums = { -1, 0, 1, 2, -1, -4 };
     Assert.Equal(null, TwoPointers.ThreeSum(nums));
 }
 public void TestFourSum()
 {
     int[] nums = { -3, -1, 0, 2, 4, 5 };
     Assert.Equal(null, TwoPointers.FourSum(nums, 0));
 }