File tree Expand file tree Collapse file tree 1 file changed +14
-12
lines changed
Expand file tree Collapse file tree 1 file changed +14
-12
lines changed Original file line number Diff line number Diff line change @@ -82,19 +82,21 @@ func Array2DEquals(a [][]string, b [][]string) bool {
8282
8383// SortArray2D Sorts the two-dimensional string array.
8484func SortArray2D (arr [][]string ) {
85- if len (arr ) != 0 {
86- sort .Slice (arr , func (i , j int ) bool {
87- elementLen := len (arr [0 ])
88- for k := 0 ; k < elementLen ; k ++ {
89- if arr [i ][k ] < arr [j ][k ] {
90- return true
91- } else if arr [i ][k ] > arr [j ][k ] {
92- return false
93- }
94- }
95- return true
96- })
85+ if len (arr ) == 0 {
86+ return
9787 }
88+ sort .Slice (arr , func (i , j int ) bool {
89+ minArrLen := len (arr [i ])
90+ if len (arr [j ]) < minArrLen {
91+ minArrLen = len (arr [j ])
92+ }
93+ for k := 0 ; k < minArrLen ; k ++ {
94+ if arr [i ][k ] != arr [j ][k ] {
95+ return arr [i ][k ] < arr [j ][k ]
96+ }
97+ }
98+ return len (arr [i ]) < len (arr [j ])
99+ })
98100}
99101
100102// SortedArray2DEquals determines whether two 2-dimensional string arrays are identical.
You can’t perform that action at this time.
0 commit comments