예제 #1
0
        static void Main(string[] args)
        {
            var result = AverageOfSubarrayOfSizeK.findAverages(5, new int[] { 1, 3, 2, 6, -1, 4, 1, 8, 2 });

            Array.ForEach(result, Console.WriteLine);
            Console.ReadLine();
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var brute = AverageOfSubarrayOfSizeK.FindAveragesBruteForce(5, new int[] { 1, 3, 2, 6, -1, 4, 1, 8, 2 });

            foreach (var number in brute)
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            var window = AverageOfSubarrayOfSizeK.FindAveragesBruteForce(5, new int[] { 1, 3, 2, 6, -1, 4, 1, 8, 2 });

            foreach (var number in window)
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            var windowSum = SmallestSubarray.SmallestSubarrayGreaterThanS(8, new int[] { 3, 4, 1, 1, 6 });

            Console.Write($"WindowSum: {windowSum}");

            Console.WriteLine();

            var distinct = LongestSubstring.LongestSubstringWithNoMoreThanKDistinctChars("cbbbebi", 1);

            Console.WriteLine($"Longest Substring: {distinct}");


            Console.WriteLine();

            var fruits = FruitTree.MaxNoOfFruits(new char[] { 'A', 'B', 'C', 'B', 'B', 'C' });

            Console.WriteLine($"Fruits: {fruits}");

            Console.WriteLine();

            var maxNoRepeats = NoRepeatChars.NoRepeatCharsInASubstring("abccde");

            Console.WriteLine($"Max No Repeats: {maxNoRepeats}");

            Console.WriteLine();

            var longestSubstring = ReplaceToFindLongest.ReplaceKCharsToFindLongestSubString("aabccbb", 2);

            Console.WriteLine($"Replace to find longest: {longestSubstring}");

            Console.WriteLine();

            var replaceBits = BitArrayReplace.ReplaceK1sInBitArray(new List <int>()
            {
                0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1
            }, 3);

            Console.WriteLine($"Longest Replaced 0s: {replaceBits}");

            Console.WriteLine();

            var isPermutation = ContainsPermuations.DoesContainPermutation("oidbcaf", "abc");

            Console.WriteLine($"Is Permutation: {isPermutation}");

            Console.WriteLine();

            var isEducativePermutation = ContainsPermuations.EducativeVersion("oidbcaf", "abc");

            Console.WriteLine($"Is Permutation: {isEducativePermutation}");

            Console.WriteLine();

            List <List <int> > sixBySixList = new List <List <int> >()
            {
                new List <int>()
                {
                    1, 1, 1, 0, 0, 0
                },
                new List <int>()
                {
                    0, 1, 0, 0, 0, 0
                },
                new List <int>()
                {
                    1, 1, 1, 0, 0, 0
                },
                new List <int>()
                {
                    0, 9, 2, -4, -4, 0
                },
                new List <int>()
                {
                    0, 0, 0, -2, 0, 0
                },
                new List <int>()
                {
                    0, 0, -1, -2, -4, 0
                },
            };

            var largestHourGlass = HourGlass.HourglassSum(sixBySixList);

            Console.WriteLine($"Hour Glass Max: {largestHourGlass}");

            Console.WriteLine();
        }