Example #1
0
        public void ReturnExpectedIndexesFromNaiveImplementation(int[] nums, int target, int[] expected)
        {
            var problem = new TwoSumProblem();
            var result  = problem.TwoSumNaive(nums, target);

            Assert.Equal(expected, result);
        }
Example #2
0
        public void ReturnExpectedIndexes(int[] nums, int target, int[] expected)
        {
            var problem = new TwoSumProblem();
            var result  = problem.TwoSum(nums, target);

            Assert.Equal(expected, result);
        }
Example #3
0
        public void CorrectnessTest(int [] nums, int target, int [] expected)
        {
            var solution = new TwoSumProblem();

            var result = solution.TwoSum(nums, target);

            CollectionAssert.AreEquivalent(expected, result);
        }
Example #4
0
        public void TwoSumTest_Case1()
        {
            // Arrange
            TwoSumProblem obj = new TwoSumProblem();

            int[] nums     = new int[] { 2, 7, 11, 15 };
            int   target   = 9;
            var   expected = new int[] { 0, 1 };

            // Act
            var actual = obj.TwoSum(nums, target);

            // Assert
            Assert.Equal(expected, actual);
        }
Example #5
0
        public void TwoSumTest_Case5()
        {
            // Arrange
            TwoSumProblem obj = new TwoSumProblem();

            int[] nums   = new int[] { -10, -1, -18, -19 };
            int   target = -19;

            int[] expected = new int[] { 1, 2 };

            // Act
            var actual = obj.TwoSum(nums, target);

            // Assert
            Assert.Equal(expected, actual);
        }
Example #6
0
        public void TwoSumTest_Case4()
        {
            // Arrange
            TwoSumProblem obj = new TwoSumProblem();

            int[] nums   = new int[] { -3, 4, 3, 90 };
            int   target = 0;

            int[] expected = new int[] { 0, 2 };

            // Act
            var actual = obj.TwoSum(nums, target);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void Test1()
        {
            var result = TwoSumProblem.TwoSum(new int[] { 6, 1, -1, 5, -6 }, -7);

            result.ToList().Should().Contain(new int[] { 2, 4 });
        }
Example #8
0
        static void Main(string[] args)
        {
            SortedMatrixSearch.Run();
            SparseSearch.Run();
            SearchInRotatedArray.Run();
            GroupAnagrams.Run();
            CombinationsOfNPairsParentheses.Run();
            PermutationWithDuplicates.Run();
            PermutationNoDuplicates.Run();

            var subsetList = new List <List <int> >();

            subsetList = SubsetInSet.FindAllSubsetInSet(new List <int> {
                1, 2, 3
            });
            ReverseLinkedList.Run();
            IsUniqueString.Run();
            StoneDivisionProblem.Run();
            Kangaroo.Run();
            AppleAndOrange.Run();
            AbbreviationProblem.Run();
            FibonacciModifiedProblem.Run();
            RecursiveDigitSum.Run();
            RangeSumOfBST.Run();
            GradingStudentsProblem.Run();
            // XorSequenceProblem.Run();
            CounterGameProblem.Run();
            MaximizingXORProblem.Run();
            LonelyIntegerProblem.Run();
            FlippingBitsProblem.Run();
            QueueUsingTwoStacksProblem.Run();
            GetNodeValue.Run();
            MergeTwoSortedLinkedLists.Run();
            Compare_Two_linked_lists.Run();

            DeleteNodeProblem.Run();
            ArrayManipulationProblem.Run();
            LeftRotationProblem.Run();
            HourGlass2D.Run();
            SimpleTextEditorProblem.Run();
            EqualStacksProblem.Run();
            MaximumElementProblem.Run();
            BinarySearchTreeInsertion.Run();
            TopViewProblem.Run();
            TimeConvertsionProblem.Run();
            BinaryTreePathsProblem.Run();
            IncreasingOrderSearchTree.Run();
            RemoveAllAdjacentDuplicatesInStringWithKLength.Run();
            RemoveAllAdjacentDuplicatesInString.Run();
            CheckStraightLineProblem.Run();
            HouseRobber.Run();
            UniquePathsProblem.Run();
            FirstUniqueCharacterInString.Run();
            BinaryTreeInorderTraversal.Run();
            DailyTemperaturesProblem.Run();
            CountingBitsproblem.Run();
            SortIntegersByTheNumberOf1BitsProblem.Run();
            HammingDistanceProblem.Run();
            RansomNoteProblem.Run();
            ConvertBinaryNumberInLinkedListToIntegerProblem.Run();
            NumberOfStepsToReduceNumberToZeroProblem.Run();
            JewelsAndStones.Run();
            ClimbingStairsProblem.Run();
            BestTimeToBuyAndSellStock.Run();
            MajorityElementProblem.Run();
            MoveZeroesProblem.Run();
            InvertBinaryTree.Run();
            SingleNumberProblem.Run();
            MaximumDepthInTrree.Run();
            MergeTwoBinaryTrees.Run();
            AddBinaryProblem.Run();
            PlusOneProblem.Run();
            LengthOfLastWordProblem.Run();
            KadaneAlgorithmForMaxSubArray.Run();
            KMPAlgorithm.Run();
            CountAndSayProblem.Run();
            SearchInsertPosition.Run();
            ImplementIndexOfString.Run();
            RemoveElement.Run();
            RemoveDuplicatesFromSortedArray.Run();
            MergeTwoSortedLists.Run();
            ValidParentheses.Run();
            LongestCommonPrefix.Run();
            RomanToInteger.Run();
            PalindromeNumber.Run();
            ReverseInteger.Run();
            TwoSumProblem.Run();
            AddOneToNumber.Run();
            MostAmountOfChange.Run();
            #region BinaryTree
            LeastCommonAncestor.Run();
            PrintAllPaths.Run();
            HasPathSum.Run();
            CheckIfBinaryTreeIsBinarySearchTree.Run();
            PrintAllNodesWithRangeInBinarySearchTree.Run();
            UniqueTreeStructureNumber.Run();
            MirrorTree.Run();
            #region BitManuiplation_GetNthNumber
            NumberOfStepsToReduceNumberToZeroProblem.Run();
            CountNumbersOf1InBit.Run();
            ReverseThebitsInInteger.Run();
            PrintBitsInInteger.Run();
            GetNthBit.Run();
            setNthBitTo1.Run();
            SetNthBitTo0.Run();
            #endregion
            MinimumtValueInTrree minValueInTree = new MinimumtValueInTrree();
            minValueInTree.Run();
            #endregion

            #region Recursion
            Chessboard chessboard = new Chessboard();
            chessboard.Run();
            RatPathToMaze ratPathToMaze = new RatPathToMaze();
            ratPathToMaze.Run();
            List <string> anagramList = new List <string>();
            anagramList        = WordAnagram.GenerateWordAnagram("abc");
            Pixel[,] pixelList = new Pixel[3, 3] {
                { new Pixel(0, 0, "red"), new Pixel(0, 1, "green"), new Pixel(0, 2, "green") },
                { new Pixel(1, 0, "red"), new Pixel(1, 1, "green"), new Pixel(1, 2, "green") },
                { new Pixel(2, 0, "red"), new Pixel(2, 1, "green"), new Pixel(2, 2, "green") }
            };
            FillPaint.PaintFill(pixelList, 1, 2, "green", "black");

            BinaryTreesAreTheSame.Run();

            #endregion

            #region General problems
            RotateArrayByKSpaces.Run();

            #region AddtwoNumbersReferencedByTheirDigits
            var addRes = AddtwoNumbersReferencedByTheirDigits.AddNumbers(new int[] { 1, 2, 7 }, new int[] { 9, 4 });
            #endregion

            #region RunLengthEncoding
            var encodedStr = RunLengthEncoding.Encode("aabbbbc");
            var decodedStr = RunLengthEncoding.Decode(encodedStr);
            #endregion

            #region BreakDocumentIntoChunk
            var chunkRes = BreakDocumentIntoChunk.Chunkify("ab:dd:ddfcct:aab:cccc", ':', 5);
            #endregion

            #region GameOfLife
            var gameRes = GameOfLife.GetNextInteration(new int[3, 3] {
                { 1, 0, 0 }, { 0, 1, 1 }, { 1, 0, 0 }
            });
            #endregion .

            #endregion


            #region InsertionSort
            InsertionSort.insertionSort(listToSort);
            #endregion

            #region BinarySearch
            Console.WriteLine(String.Format("%s is present at index: %s", 30, BinarySearch.binarySearch(sortedArray, 30, 0, sortedArray.Length - 1)));
            Console.WriteLine(String.Format("%s is present at index: %s", 4, BinarySearch.binarySearch(sortedArray, 4, 0, sortedArray.Length - 1)));
            Console.WriteLine(String.Format("%s is present at index: %s", 15, BinarySearch.binarySearch(sortedArray, 15, 0, sortedArray.Length - 1)));
            #endregion


            #region MergeSort
            MergeSort.print(listToSort);
            MergeSort.mergeSort(listToSort);
            #endregion


            #region QuickSort
            QuickSort.print(listToSort);
            QuickSort.quickSort(listToSort, 0, listToSort.Length - 1);
            QuickSort.print(listToSort);
            #endregion
        }
Example #9
0
        static public void Main(String[] args)
        {
            TwoSumProblem                 twoSumProblem                     = new TwoSumProblem();
            ReverseProblem                reverseProblem                    = new ReverseProblem();
            IsPalindromeProblem           isPalindromeProblem               = new IsPalindromeProblem();
            MaxAreaProblem                maxAreaProblem                    = new MaxAreaProblem();
            ValidParenthesesProblem       validParenthesesProblem           = new ValidParenthesesProblem();
            LetterComboPhoneNumberProblem letterComboPhoneNumberProblem     = new LetterComboPhoneNumberProblem();
            StockArray                      stockArrayProblem               = new StockArray();
            ClimbingStepsProblem            climbingStepsProblem            = new ClimbingStepsProblem();
            RemoveElementTypeProblem        removeElementTypeProblem        = new RemoveElementTypeProblem();
            ValidAnagram                    validAnagramProblem             = new ValidAnagram();
            ProductOfArrayExceptSelfProblem productOfArrayExceptSelfProblem = new ProductOfArrayExceptSelfProblem();
            SearchInsertPosition            searchInsertPositionProblem     = new SearchInsertPosition();
            RomanToIntt                     romanToIntProblem               = new RomanToIntt();
            FoobarProblems                  foobarProblems                  = new FoobarProblems();
            JumpGame             jumpGame      = new JumpGame();
            RobbingHouses        robbingHouses = new RobbingHouses();
            Power                power         = new Power();
            MoveZeroesProblem    moveZeroes    = new MoveZeroesProblem();
            IsSubsequenceProblem isSubsequence = new IsSubsequenceProblem();

            /*
             * int[] nums = new int[] {2, 11, 14, 17};
             * int target = 16;
             * int [] result = twoSumProblem.TwoSum(nums, target);
             * result.ToList().ForEach(i => Console.WriteLine(i.ToString()));
             */

            /*
             * int x = int.MaxValue;
             * int reversed = reverseProblem.Reverse(x);
             * Console.Writeline(x);
             */

            /*
             * int x = 121;
             * Console.WriteLine(isPalindromeProblem.IsPalindrome(x));
             */

            /*
             * int[] height = new int[] {1, 8, 6, 2, 5, 4, 8, 3, 7};
             * Console.WriteLine(maxAreaProblem.MaxArea(height));
             */

            /*
             * string s = "[([]])";
             * Console.WriteLine(validParenthesesProblem.IsValid(s));
             */

            /*
             * string digits = "";
             * foreach (string s in letterComboPhoneNumberProblem.LetterCombinations(digits))
             * {
             *  Console.WriteLine(s);
             * }
             */

            /*
             * int[] prices = new int[] {7, 1, 5, 3, 6, 4};
             * Console.WriteLine(stockArrayProblem.MaxProfit(prices));
             */

            /*
             * int n = 6;
             * Console.WriteLine(climbingStepsProblem.ClimbStairs(n));
             */

            /*
             * int[] nums = new int[] { 3, 2, 2, 3 };
             * int val = 3;
             * Console.WriteLine(removeElementTypeProblem.RemoveElement(nums, val));
             */

            /*
             * string s = "rat";
             * string t = "car";
             * Console.WriteLine(validAnagramProblem.IsAnagram(s, t));
             */

            /*
             * int[] nums = new int[] { 1, 2, 3, 4 };
             * int[] result = productOfArrayExceptSelfProblem.ProductExceptSelf(nums);
             * result.ToList().ForEach(i => Console.WriteLine(i.ToString()));
             */

            /*
             * int[] nums = new int[] { 2, 3, 5, 6 };
             * int target = 4;
             * Console.WriteLine(searchInsertPositionProblem.SearchInsert(nums, target));
             */

            /*
             * string b = "X";
             * Console.WriteLine(romanToIntProblem.RomanToInt(b));
             */

            /*
             * string[] strs = new string[] { "flower", "flow", "flight" };
             * Console.WriteLine(longestPrefixProblem.LongestCommonPrefix(strs));
             */

            /*
             * List<int> x = new List<int>() { 14, 27, 1, 4, 2, 50, 3, 1 };
             * List<int> y = new List<int>() { 2, 4, -4, 3, 1, 1, 14, 27, 50 };
             * Console.WriteLine(foobarProblems.Solution1(x, y));
             */

            /*
             * Console.WriteLine(foobarProblems.Solution2(90, 7));
             */

            /*
             * Console.WriteLine(foobarProblems.Solution3(0, 1));
             */

            /*
             * Console.WriteLine(foobarProblems.Solution4(2, 1));
             */

            /*
             * int[] nums = new int[] {1, 0, 8, 2, 0, 0, 1 };
             * Console.WriteLine(jumpGame.CanJump(nums));
             */

            /*
             * int[] nums = new int[] {1, 3, 6, 3, 1, 1, 1, 1, 2 };
             * Console.WriteLine(robbingHouses.RobHouse(nums));
             */

            /* recursion practice:::::::::
             * Console.WriteLine(robbingHouses.Factorial(5));
             * Console.WriteLine(robbingHouses.PowerTo(7, 2));
             * Console.WriteLine(robbingHouses.SumTillN(10));
             * Console.WriteLine(robbingHouses.Multiply(10, 5));
             * Console.WriteLine(robbingHouses.PowerToNegativeInt(3, -2));
             */

            /*
             * Console.WriteLine(power.IsPowerOfTwo(0));
             * Console.WriteLine(power.IsPowerOfThree(27));
             * Console.WriteLine(power.IsHappy(19));
             * Console.WriteLine(power.AddDigits(38));
             */

            /*
             * int[] nums = new int[] { 0, 1, 0, 3, 12 };
             * Console.WriteLine(moveZeroes.MoveZeroes(nums));
             */

            Console.WriteLine(isSubsequence.IsSubsequence("bb", "abbc"));
            Console.WriteLine(isSubsequence.CanConstruct("aab", "baa"));

            Console.ReadLine();
        }
Example #10
0
 static void Main(string[] args)
 {
     var problem = new TwoSumProblem();
     var test    = problem.TwoSum(new int[] { 2, 7, 11, 15 }, 9);
 }