Grid Challenge Discussions | | HackerRank

Grid Challenge

  • + 0 comments

    Java solution with nested for loops and additional for loop for sorting strings. Any suggestions with better time complexity?

        public static String sortString(String s){
            char [] charArr = s.toCharArray();
            Arrays.sort(charArr);
            return new String(charArr);
        }
    
        public static String gridChallenge(List<String> grid) {
           ArrayList<String> stringArr = new ArrayList<>();
           for(int i = 0; i < grid.size(); i++){
            String s = sortString(grid.get(i));
            stringArr.add(s);
           }
           int stringSize = stringArr.get(0).length();
           for(int i = 1; i < stringArr.size(); i++){
            for(int j = 0; j < stringSize; j++){
                if(stringArr.get(i-1).charAt(j) > stringArr.get(i).charAt(j)){
                    return "NO";
                }
            }
           }
           return "YES";
        }