@@ -110,9 +110,44 @@ int[] GetMinimumSizeSubarraySum(int[] inputArray, int n)
110
110
return null ;
111
111
}
112
112
113
- List < string > GetSummaryRanges ( int [ ] inputArray )
113
+ string [ ] GetSummaryRanges ( int [ ] inputArray )
114
114
{
115
- return null ;
115
+ if ( inputArray == null || inputArray . Length == 0 )
116
+ throw new ArgumentNullException ( "inputArray needs to have elements" ) ;
117
+
118
+ var listOfAnswers = new List < string > ( ) ;
119
+
120
+ for ( int index = 0 ; index < inputArray . Length ; index ++ )
121
+ {
122
+ var firstString = string . Empty ;
123
+ bool found = false ;
124
+ for ( int insideIndex = index ; insideIndex < inputArray . Length ; insideIndex ++ )
125
+ {
126
+ if ( insideIndex + 1 < inputArray . Length && ( inputArray [ insideIndex + 1 ] - inputArray [ insideIndex ] == 1 ) )
127
+ {
128
+ if ( ! found )
129
+ {
130
+ firstString = $ "{ inputArray [ insideIndex ] } ";
131
+ }
132
+ found = true ;
133
+ }
134
+ else
135
+ {
136
+ if ( found )
137
+ {
138
+ string endString = inputArray [ insideIndex ] . ToString ( ) ;
139
+ listOfAnswers . Add ( $ "{ firstString } ->{ endString } ") ;
140
+ index = insideIndex ;
141
+ break ;
142
+ }
143
+ else
144
+ {
145
+ listOfAnswers . Add ( $ "{ inputArray [ insideIndex ] } ") ;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ return listOfAnswers . ToArray ( ) ;
116
151
}
117
152
118
153
[ Test ]
0 commit comments