Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Coding Challenge - Mirror
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { public static void Main(string[] args) { int noTestCases = Int32.Parse(Console.ReadLine()); for(int i = 0; i < noTestCases; ++i) { int caseSize = Int32.Parse(Console.ReadLine()); int[] workingArray = new int[caseSize]; for(int j = 0; j < caseSize; ++j) { workingArray[j] = Int32.Parse(Console.ReadLine()); } Console.WriteLine(MaxMirror(ref workingArray)); } } public static int MaxMirror(ref int[] values) { int maxValue = 0; for(int i = 0; i < values.Length && maxValue <= values.Length/2; ++i) { int currentValue = MaxOfCurrentIndex(i,ref values); if(currentValue > maxValue) { maxValue = currentValue; } } return maxValue; } public static int MaxOfCurrentIndex(int index, ref int[] values) { int max = 0; for(int i = values.Length - 1; i >= index && max < values.Length; --i) { if(values[i] == values[index]) { var mirrorLength = GetCurrentMirrorLength(index,i,ref values); if(mirrorLength > max) { max = mirrorLength; } } } return max; } public static int GetCurrentMirrorLength(int firstIndex, int searchIndex, ref int[] values) { int length = 0; int firstIndexPlaceholder = firstIndex; while(searchIndex >= firstIndexPlaceholder && values[firstIndex] == values[searchIndex]) { ++length; --searchIndex; ++firstIndex; } return length; } } }
2 8 1 2 3 8 9 3 2 1 4 3 5 5 3
Show compiler warnings
[
-
]
Show input
Compilation time: 0,14 sec, absolute running time: 0,13 sec, cpu time: 0,11 sec, average memory usage: 14 Mb, average nr of threads: 3
edit mode
|
history
3 4