public void ThreeHouses()
        {
            var sol = new HouseRobber();

            Assert.AreEqual(4, sol.Rob(new int[] { 1, 3, 3 }));
            Assert.AreEqual(21, sol.Rob(new int[] { 10, 21, 10 }));
        }
        public void TwoHouses()
        {
            var sol = new HouseRobber();

            Assert.AreEqual(2, sol.Rob(new int[] { 1, 2 }));
            Assert.AreEqual(10, sol.Rob(new int[] { 10, 9 }));
        }
        public void OneHouse()
        {
            var sol = new HouseRobber();

            Assert.AreEqual(1, sol.Rob(new int[] { 1 }));
            Assert.AreEqual(10, sol.Rob(new int[] { 10 }));
        }
        public void Empty()
        {
            var sol = new HouseRobber();

            Assert.AreEqual(0, sol.Rob(null));
            Assert.AreEqual(0, sol.Rob(new int[0]));
        }
        public void FourHouses()
        {
            var sol = new HouseRobber();

            Assert.AreEqual(24, sol.Rob(new int[] { 1, 3, 3, 21 }));
            Assert.AreEqual(23, sol.Rob(new int[] { 10, 21, 13, 1 }));
            Assert.AreEqual(104, sol.Rob(new int[] { 5, 1, 98, 99 }));
        }
Esempio n. 6
0
        public void TestingHouseRobber(int[] nums, int expected)
        {
            var houseRobber = new HouseRobber();

            var result = houseRobber.MyRobber(nums);

            Assert.AreEqual(expected, result);
        }
        public void IfArrayIsEmpty_ReturnZero()
        {
            nums = new int[0];

            int expected = 0;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasFiveNums_ReturnGreatestSumOfAnyNonConsecutiveNums()
        {
            nums = new int[5] {
                5, 350, 5, 7, 400
            };

            int expected = 750;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasFourNums_ReturnGreatestSumOfTwoNums()
        {
            nums = new int[4] {
                5, 350, 100, 7
            };

            int expected = 357;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasFiveNums_ReturnGreatestSumOfAlternatingNums()
        {
            nums = new int[5] {
                5, 350, 100, 7, 40
            };

            int expected = 390;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasOneNum_ReturnNum()
        {
            nums = new int[1] {
                350
            };

            int expected = 350;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasThreeNums_ReturnGreatestSum()
        {
            nums = new int[3] {
                5, 350, 100
            };

            int expected = 350;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
        public void IfArrayHasNumsElevenNums_ReturnGreatestSumOfAnyNonConsecutiveNums()
        {
            nums = new int[11] {
                5, 350, 5, 7, 400, 50, 100, 20, 30, 8, 11
            };

            int expected = 891;
            int actual   = HouseRobber.MaxAmountOfMoneyFromRobbingHouses(nums);

            Assert.AreEqual(expected, actual);
        }
Esempio n. 14
0
        public void Rob_ShouldReturn_MaximumAmount_ThatCanBeRobbed(int[] nums, int expectedAmount)
        {
            // Arrange
            var houseRobber = new HouseRobber();

            // Act
            var amount = houseRobber.Rob(nums);

            // Assert
            amount.Should().Be(expectedAmount);
        }
Esempio n. 15
0
        public void TestHouseRobber2()
        {
            var r = HouseRobber.HouseRobber2(new[] { 2, 7, 9, 3, 1 });

            Assert.AreEqual(r, 11);

            r = HouseRobber.Rob(new[] { 3, 5, 1, 9, 20 });
            Assert.AreEqual(r, 25);

            r = HouseRobber.HouseRobber2(new[] { 103, 5, 1, 9, 20, 100 });
            Assert.AreEqual(r, 124);
        }
Esempio n. 16
0
        public void RobTests()
        {
            HouseRobber obj = new HouseRobber();

            //        Input: [1, 2, 3, 1]
            //Output: 4        }

            int[] nums = new int[] { 1, 2, 3, 1 };
            var   x    = obj.Rob(nums);

            //        Input: [2, 7, 9, 3, 1]
            //Output: 12
            nums = new int[] { 2, 7, 9, 3, 1 };
            x    = obj.Rob(nums);
        }
Esempio n. 17
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
        }
Esempio n. 18
0
 public void BeforeEach()
 {
     houseRobber = new HouseRobber();
 }