public void ZeroSizeInput()
        {
            var input  = new int[0][];
            var result = NumberOfIslands.Run(input);

            Assert.AreEqual(0, result);
        }
        public void NullInput()
        {
            int[][] input  = null;
            var     result = NumberOfIslands.Run(input);

            Assert.AreEqual(0, result);
        }
        public void TestSolution(char[,] grid, int expectedNumber)
        {
            var solution = new NumberOfIslands();

            var actualNumber = solution.NumIslands(grid);

            actualNumber.Should().Be(expectedNumber);
        }
Exemple #4
0
        static void Main(string[] args)
        {
            NumberOfIslands number = new NumberOfIslands();

            Console.WriteLine(number.IslandCount());

            SpiralPrint sp = new SpiralPrint();

            sp.Print();

            PascalTriangle pt = new PascalTriangle();

            pt.Generate(6); pt.Print();

            MedianOfSortedArrays ms = new MedianOfSortedArrays();

            Console.WriteLine(ms.MedianOf2SortedArrays(ms.array1, ms.array2));

            FindtheMissingNumber fn = new FindtheMissingNumber();

            Console.WriteLine(fn.FindtheMissingNumberMethod1());

            ContainsDuplicate cd = new ContainsDuplicate();

            Console.WriteLine(cd.isDuplicateMethod2());

            ReversedLinkedList rl = new ReversedLinkedList();

            rl.reversedList();

            ReverseNumber rn = new ReverseNumber();

            rn.ReverseANumber(12345);

            LinearSearch ls = new LinearSearch();
            BinarySearch bs = new BinarySearch();

            ZigZag zz = new ZigZag();

            Console.WriteLine(zz.Convert("PAYPALISHIRING", 3));

            BinaryTree bt = new BinaryTree();

            bt.InorderTraverse(bt.root);
            Console.WriteLine();
            bt.PreorderTraverse(bt.root);
            Console.WriteLine();
            bt.PostorderTraverse(bt.root);

            RotateArray ra = new RotateArray(3);
            //SearchRotatedArray sr = new SearchRotatedArray(3);
            //Console.WriteLine(sr.Find());

            FindSumSarray  fS    = new FindSumSarray();
            MaxSumSubArray mxSum = new MaxSumSubArray();
        }
        void InternalTest(char[][] grid, int expected)
        {
            char[][] clone  = CloneGrid(grid);
            int      actual = NumberOfIslands.BFSNumIslands(grid);

            Assert.Equal <int>(expected, actual);

            actual = NumberOfIslands.DFSNumIslands(clone);
            Assert.Equal <int>(expected, actual);
        }
        public void Size1X0Input()
        {
            var input = new[]
            {
                new int[0]
            };
            var result = NumberOfIslands.Run(input);

            Assert.AreEqual(0, result);
        }
Exemple #7
0
        public void NumIslandsTestCase2()
        {
            var input = new [] {
                new [] { '1', '1', '0', '0', '0' },
                new [] { '1', '1', '0', '0', '0' },
                new [] { '0', '0', '1', '0', '0' },
                new [] { '0', '0', '0', '1', '1' }
            };

            NumberOfIslands.NumIslands(input).Should().Be(3);
        }
        public void OneIslandTurnLeft()
        {
            var input = new[]
            {
                new [] { 1, 1 },
                new [] { 0, 1 }
            };
            var result = NumberOfIslands.Run(input);

            Assert.AreEqual(1, result);
        }
Exemple #9
0
        public void Test9()
        {
            //Given
            char[][] input = new char[][] { };

            //When
            var sut = new NumberOfIslands();
            int num = sut.NumIslands(input);

            //Then
            num.Should().Be(0);
        }
Exemple #10
0
        public void CountIslandsTest()
        {
            var grid = new char[, ]
            {
                { '1', '1', '0', '0', '0' },
                { '1', '1', '0', '0', '0' },
                { '0', '0', '1', '0', '0' },
                { '0', '0', '0', '1', '1' }
            };

            Assert.AreEqual(3, NumberOfIslands.NumIslands(grid));
        }
        public void NumberOfIslands()
        {
            NumberOfIslands NumberOfIslands = new NumberOfIslands();

            char[][] grid = new char[4][];
            grid[0] = new char[] { '1', '1', '1', '1', '0' };
            grid[1] = new char[] { '1', '1', '0', '1', '0' };
            grid[2] = new char[] { '1', '1', '0', '0', '0' };
            grid[3] = new char[] { '0', '0', '0', '0', '1' };


            int answer = NumberOfIslands.NumIslands(grid);
        }
        public static void Main(string[] args)
        {
            NumberOfIslands ns = new NumberOfIslands();

            char[,] M = new char[, ] {
                { '1', '1', '0', '0', '0' },
                { '1', '1', '0', '0', '0' },
                { '0', '0', '1', '0', '0' },
                { '0', '0', '0', '1', '1' }
            };

            int result = ns.NumIslands(M);
        }
        public void ThreeIslands()
        {
            var input = new[]
            {
                new [] { 1, 1, 0, 0, 0, 0, 0 },
                new [] { 1, 1, 0, 0, 0, 0, 0 },
                new [] { 0, 0, 1, 0, 0, 0, 0 },
                new [] { 0, 0, 0, 1, 1, 1, 1 },
                new [] { 0, 0, 0, 1, 1, 1, 1 },
                new [] { 0, 0, 0, 1, 1, 1, 1 }
            };
            var result = NumberOfIslands.Run(input);

            Assert.AreEqual(3, result);
        }
Exemple #14
0
        public void Test5()
        {
            //Given
            char[][] input = new char[][] {
                new char[] { '0', '0', '0' },
                new char[] { '0', '1', '0' },
                new char[] { '0', '0', '0' }
            };

            //When
            var sut = new NumberOfIslands();
            int num = sut.NumIslands(input);

            //Then
            num.Should().Be(1);
        }
Exemple #15
0
        public void NumIslandsTest()
        {
            char[][] grid1 = new char[][] { new char[] { '1', '1', '1', '1', '0' },
                                            new char[] { '1', '1', '0', '1', '0' },
                                            new char[] { '1', '1', '0', '0', '0' },
                                            new char[] { '0', '0', '0', '0', '0' }, };
            int output = 1;

            char[][] grid2 = new char[][] { new char[] { '1', '1', '0', '0', '0' },
                                            new char[] { '1', '1', '0', '0', '0' },
                                            new char[] { '0', '0', '1', '0', '0' },
                                            new char[] { '0', '0', '0', '1', '1' }, };
            int output2 = 3;

            Assert.AreEqual(NumberOfIslands.NumIslands(grid2), output2);
        }
Exemple #16
0
    private static int LeetCode_NumberOfIslands()
    {
        char[][] grid = new char[][]
        {
            new char[] { '1', '1', '0', '0', '0' },
            new char[] { '1', '1', '0', '0', '0' },
            new char[] { '0', '0', '1', '0', '0' },
            new char[] { '0', '0', '0', '1', '1' }
        };
        NumberOfIslands num    = new NumberOfIslands();
        int             iCount = num.NumIslands(grid);

        Console.Write(iCount);
        Console.ReadLine();
        return(0);
    }
        public void NumsIslandResultsInSuccess()
        {
            char[][] island = new char[][] {
                new char[] { '1', '1', '0', '0', '0' },
                new char[] { '1', '1', '0', '0', '0' },
                new char[] { '0', '0', '1', '0', '0' },
                new char[] { '0', '0', '0', '1', '1' }
            };


            var expectedResult = 3;

            var result = new NumberOfIslands().NumIslands(island);

            Assert.AreEqual(result, expectedResult);
        }
Exemple #18
0
 public void Setup()
 {
     solution = new NumberOfIslands();
 }
Exemple #19
0
        static void Main(string[] args)
        {
            #region 1. Two Sum

            TwoSums twoSums = new TwoSums(new int[] { 2, 7, 11, 15 }, 18);
            twoSums.PrintExample();

            #endregion

            #region 3. LongestSubstringWithoutRepeatingCharacters

            LongestSubstringWithoutRepeatingCharacters longestSubstringWithoutRepeating = new LongestSubstringWithoutRepeatingCharacters("abcdecb");
            longestSubstringWithoutRepeating.PrintExample();

            #endregion

            #region 7. Reverse Integer

            ReverseInteger reverseInteger = new ReverseInteger(-54321);
            reverseInteger.PrintExample();

            #endregion

            #region 8. String to Integer (atoi)

            StringToInteger stringToInteger = new StringToInteger("  -42");
            stringToInteger.PrintExample();

            #endregion

            #region 9. Palindrome Number

            PalindromeNumber palindromeNumber = new PalindromeNumber(121);
            palindromeNumber.PrintExample();

            #endregion

            #region 20. Valid Parentheses

            ValidParentheses validParentheses = new ValidParentheses("(){[]}");
            validParentheses.PrintExample();

            #endregion

            #region 26. Remove Duplicates from Sorted Array

            RemoveDuplicatesFromSortedArray removeDuplicatesFromSortedArray = new RemoveDuplicatesFromSortedArray(new [] { 1, 2, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6 });
            removeDuplicatesFromSortedArray.PrintExample();

            #endregion

            #region 35. Search Insert Position

            SearchInsertPosition searchInsertPosition = new SearchInsertPosition(new [] { 1, 3, 5, 10 }, 9);
            searchInsertPosition.PrintExample();

            #endregion

            #region 58. Length of Last Word

            LengthOfLastWord lengthOfLastWord = new LengthOfLastWord("Hello World");
            lengthOfLastWord.PrintExample();

            #endregion

            #region 104. Maximum Depth of Binary Tree



            #endregion

            #region 125. Valid Palindrome

            ValidPalindrome validPalindrome = new ValidPalindrome("A man, a plan, a canal: Panama");
            validPalindrome.PrintExample();

            #endregion

            #region 136. Single Number

            SingleNumber singleNumber = new SingleNumber(new [] { 2, 2, 3, 3, 1 });
            singleNumber.PrintExample();

            #endregion

            #region 150. Evaluate Reverse Polish Notation

            EvaluateReversePolishNotation evaluateReversePolishNotation = new EvaluateReversePolishNotation(new [] { "2", "1", "+", "3", "*" });
            evaluateReversePolishNotation.PrintExample();

            #endregion

            #region 155. Min Stack

            MinStack minStack = new MinStack();
            minStack.PrintExample();

            #endregion

            #region 167. Two Sum II - Input array is sorted

            TwoSumII twoSumII = new TwoSumII(new [] { 1, 2, 3, 7 }, 10);
            twoSumII.PrintExample();

            #endregion

            #region 200. Number of Islands

            NumberOfIslands numberOfIslands = new NumberOfIslands(new char[, ]
            {
                { '1', '1', '0', '0', '0' },
                { '1', '1', '0', '0', '0' },
                { '0', '0', '1', '0', '0' },
                { '0', '0', '0', '1', '1' }
            });
            numberOfIslands.PrintExample();

            #endregion

            #region 217. Contains Duplicate

            ContainsDuplicate containsDuplicate = new ContainsDuplicate(new [] { 1, 2, 3, 1 });
            containsDuplicate.PrintExample();

            #endregion

            #region 268. Missing Number

            MissingNumber missingNumber = new MissingNumber(new [] { 9, 6, 4, 2, 3, 5, 7, 0, 1 });
            missingNumber.PrintExample();

            #endregion

            #region 344. Reverse String

            ReverseString reverseString = new ReverseString("A man with a plan");
            reverseString.PrintExample();

            #endregion

            #region 387. First Unique Character in a String

            FirstUniqueCharacterInAString firstUniqueChar = new FirstUniqueCharacterInAString("loveleetcode");
            firstUniqueChar.PrintExample();

            #endregion

            #region 412. FizzBuzz

            FizzBuzz fizzBuzz = new FizzBuzz(15);
            fizzBuzz.PrintExample();

            #endregion

            #region 485. Max Consecutive Ones

            MaxConsecutiveOnes maxConsecutiveOnes = new MaxConsecutiveOnes(new int[] { 1, 1, 0, 1, 1, 1 });
            maxConsecutiveOnes.PrintExample();

            #endregion

            #region 509. Fibonacci Number

            FibonacciNumber fibonacciNumber = new FibonacciNumber(10);
            fibonacciNumber.PrintExample();

            #endregion

            #region 622. Design Circular Queue

            CircularQueue circularQueue = new CircularQueue(1);
            Console.WriteLine("622. Design Circular Queue");
            Console.WriteLine($"Front()   : {circularQueue.Front()}");
            Console.WriteLine($"IsEmpty() : {circularQueue.IsEmpty()}");
            circularQueue.EnQueue(1);
            Console.WriteLine($"EnQueue(1)");
            Console.WriteLine($"IsEmpty() : {circularQueue.IsEmpty()}");
            Console.WriteLine($"IsFull()  : {circularQueue.IsFull()}\n");

            #endregion

            #region 707. Design Linked List

            LinkedList linkedList = new LinkedList(new Node());
            linkedList.AddAtTail(10);
            linkedList.AddAtTail(20);
            linkedList.PrintLinkedList();

            #endregion

            #region 709. To Lower Case

            ToLowerCase toLowerCase = new ToLowerCase("LOVELY");
            toLowerCase.PrintExample();

            #endregion

            #region 739. Daily Temperatures

            DailyTemperatures dailyTemperatures = new DailyTemperatures(new [] { 89, 62, 70, 58, 47, 47, 46, 76, 100, 70 });
            dailyTemperatures.PrintExample();

            #endregion

            #region 747. Largest Number at Least Twice of Others

            LargestNumberAtLeastTwiceOfOthers largestNumberAtLeastTwiceOfOthers = new LargestNumberAtLeastTwiceOfOthers(new [] { 3, 6, 1, 0 });
            largestNumberAtLeastTwiceOfOthers.PrintExample();

            #endregion

            #region 771. Jewels and Stones
            string          j = "aA", s = "aAAbbbb";
            JewelsAndStones jewelsAndStones = new JewelsAndStones(j, s);
            jewelsAndStones.PrintExample();

            #endregion

            #region 832. Flipping an Image
            int[][] flippingImageArray      = new int[3][];
            flippingImageArray[0] = new int[] { 1, 1, 0 };
            flippingImageArray[1] = new int[] { 1, 0, 1 };
            flippingImageArray[2] = new int[] { 0, 0, 0 };
            FlippingAnImage flippingAnImage = new FlippingAnImage(flippingImageArray);
            flippingAnImage.PrintExample();

            #endregion

            #region 917. Reverse Only Letters

            ReverseOnlyLetters reverseOnlyLetters = new ReverseOnlyLetters("Qedo1ct-eeLg=ntse-T!");
            reverseOnlyLetters.PrintExample();

            #endregion


            Console.ReadLine();
        }
        public static void Main(string[] args)
        {
            WordDictionary wd = new WordDictionary();

            wd.AddWord("bad");
            wd.AddWord("dad");
            wd.AddWord("mad");
            Console.Write(wd.Search("pad"));
            Console.Write(wd.Search("bad"));
            Console.Write(wd.Search(".ad"));
            Console.Write(wd.Search("b.."));
            KClosedToOrigin kC = new KClosedToOrigin();
            //int[][] points = new int[2][];
            //points[0] = new int[] { 1, 0 };
            //points[1] = new int[] { 0, 1 };
            //kC.KClosest(points, 2);
            TopKWithSortedDictionary topK = new TopKWithSortedDictionary();
            //topK.TopKFrequent(new int[] {1,1,1,2,2,3 }, 2);
            CourseScheduling_AdjMatrix_Courses courses = new CourseScheduling_AdjMatrix_Courses();
            //char[][] grid = new char[4][];
            //grid[0] = new char[] {'X', 'X', 'O', 'O'}; // { '1','1','0','0', '0'};
            //grid[2] = new char[] { 'X', 'O', 'O', 'X' }; // { '1', '1', '0' , '0', '0' };
            //grid[3] = new char[] { 'X', 'X', 'O', 'X' }; // { '0','0','1','0','0' };
            //grid[1] = new char[] { 'X', 'O', 'X', 'X' }; // { '0','0','0','1','1'};
            SurroundedRegions s = new SurroundedRegions();
            //s.Solve(grid);
            NumberOfIslands n = new NumberOfIslands();
            //var arr = new int[5, 4]
            //                    {
            // {1,1, 0, 0},
            // {0,0, 1, 0},
            // {0,0, 0, 0},
            // {1,0, 1, 1},
            // {1,1, 1, 1},
            //                    };
            //n.numberAmazonGoStores(5, 4, arr);

            MinCostInAGrid minC = new MinCostInAGrid();

            int[][] grid = new int[4][];
            grid[0] = new int[] { 1, 1, 1, 1 };
            grid[1] = new int[] { 2, 2, 2, 2 };
            grid[2] = new int[] { 1, 1, 1, 1 };
            grid[3] = new int[] { 2, 2, 2, 2 };
            //minC.MinCost(grid);

            //n.NumIslands(grid);
            CriticalRoutersInANetwork rt = new CriticalRoutersInANetwork();
            //List<List<int>> ls = new List<List<int>> {
            //    new List<int> {1,2},
            //    new List<int> {2,3},
            //    new List<int> {3,4},
            //    new List<int> {4,5},
            //    new List<int> {5,1},
            //};
            //rt.CriticalRouters(6,7,ls);


            // courses.FindOrder(4, prerequisites);
            // example ex = new example();
            // int[] arr = new int[] {4,5,2,7,8 };
            //Console.Write(ex.heapSort(arr, 5));
            LevelOrder_BottomUp lvlOrder = new LevelOrder_BottomUp();
            //TreeNode root = new TreeNode(5);
            //root.left = new TreeNode(4);
            //root.right = new TreeNode(8);
            //root.right.left = new TreeNode(13);
            //root.right.right = new TreeNode(4);
            //root.left.left = new TreeNode(11);
            //root.left.left.left = new TreeNode(7);
            //root.left.right = new TreeNode(2);
            //Solution sl = new Solution();
            //sl.HasPathSum(root, 22);
            // lvlOrder.LevelOrderBottom(root);
            WordLadder_BFS wl = new WordLadder_BFS();

            wl.LadderLength_BFS("hit", "cog", new string[] { "hot", "dot", "dog", "lot", "log", "cog" });
            // WordLadder_BFS_LessEfficient wlbfs = new WordLadder_BFS_LessEfficient();
            // wlbfs.FindLadders("hit","cog",new string[] { "hot", "dot", "dog", "lot", "log", "cog" });
            TrieDataStructure obj = new TrieDataStructure();
            // obj.InsertWord("spinclass");
            //bool exists = obj.Search("spin");
            //   bool startsWith = obj.StartsWith("spin");

            //int nodes = 3;
            List <List <int> > graph = new List <List <int> >();
            //graph = CreateGraph(nodes);

            //AddEdge(graph, 0, 1);
            //AddEdge(graph, 0, 2);
            // AddEdge(graph, 1, 2);
            //AddEdge(graph, 2, 3);
            //AddEdge(graph, 3, 4);
            //AddEdge(graph, 2, 5);
            //AddEdge(graph, 5, 6);
            //AddEdge(graph, 6, 7);
            //AddEdge(graph, 7, 8);
            //AddEdge(graph, 8, 5);
            //BridgesAjacencyList bridge = new BridgesAjacencyList(graph, nodes);
            //List<int> bridges = bridge.FindBridges();

            // print the bridges
            //for (int i = 0; i < bridges.Count/2; i++)
            //{
            //    int node1 = bridges[2*i];
            //    int node2 = bridges[2 * i + 1];
            //    Console.WriteLine("Bridge is between node1: " + node1.ToString() + " and node2: " + node2.ToString());
            //}

            //ArticulationPointAdjacencyList artAdj = new ArticulationPointAdjacencyList(graph, nodes);
            //bool[] isArticulationPoint = artAdj.FindArticulationPoints();

            //for (int i = 0; i < nodes; i++)
            //{
            //    if (isArticulationPoint[i])
            //    {
            //        Console.WriteLine("ArticulationPoint is at index : " + i);
            //    }
            //}
            CriticalConnectionsInANetwork cr = new CriticalConnectionsInANetwork();
            //IList<IList<int>> connections = new List<IList<int>>();
            //connections.Add(new List<int>() {0,1 });
            //connections.Add(new List<int>() { 1, 2 });
            //connections.Add(new List<int>() { 2,0 });
            //connections.Add(new List<int>() { 1,3 });
            //cr.CriticalConnections(4, connections);


            PrimsAlgorithm prims = new PrimsAlgorithm();

            //int[,] pm = new int[,] { { 0, 2, 0, 6, 0 },
            //                          { 2, 0, 3, 8, 5 },
            //                          { 0, 3, 0, 0, 7 },
            //                          { 6, 8, 0, 0, 9 },
            //                          { 0, 5, 7, 9, 0 } };
            //prims.PrimsMinSpanningTree(pm, 5);

            Console.ReadKey();
        }
        public void TestSolution(char[][] input1, int expectedResult)
        {
            var result = new NumberOfIslands().Resolve(input1);

            Assert.AreEqual(expectedResult, result);
        }