/// <summary> /// Calculates the number of distinct three adjacent numbers /// </summary> /// <param name="searchGrid">search grid data</param> /// <returns>distinct number of three adjacent numbers</returns> public int DistinctThreeAdjacentNumbers(int[][] searchGrid) { ArgumentCheck.IsNull(searchGrid, nameof(searchGrid)); var distinct3AdjacentGridVisitor = new Distinct3AdjacentGridVisitor(); var grid = new Grid(searchGrid, 3); grid.Apply(distinct3AdjacentGridVisitor); return(distinct3AdjacentGridVisitor.GetDistinctCount()); }