Hi , I wrote a scala solution for HackerRank BigSorting ,
I got RuntimeException in some test case, I tested the input in scastie, it seems the problem is caused by calling length() on a very long string, but the same java solution has no problem, is this a bug?
my solution code is :
object Solution {
def stringSort(x:String, y:String):Boolean = {
var result = true
if(x.length < y.length){
result = true
}else if(x.length > y.length){
result = false
}else{
var founded = false
var i = 0
while(i < x.length && !founded){
var xi = x.charAt(i)
var yi = y.charAt(i)
if(xi != yi){
result = xi < yi
founded = true
}
i += 1
}
}
result
}
def bigSort(unsorted:Array[String]):Array[String] = {
return unsorted.sortWith(stringSort)
}
def main(args: Array[String]) {
val sc = new java.util.Scanner (System.in);
var n = sc.nextInt();
var unsorted = new Array[String](n);
for(unsorted_i <- 0 to n-1) {
unsorted(unsorted_i) = sc.next();
}
print(bigSort(unsorted).mkString("\n"))
// your code goes here
}
}