You are viewing a single comment's thread. Return to all comments →
JAVA Solution:
Key point : 1 st number will be greater than 1 from starting number, 2 nd number will be greater than 2 from starting number and so on .
public static void separateNumbers(String s) { if (s.length() == 1) System.out.println("NO"); else {
boolean validString = true; String startString = ""; for (int i = 1; i <= s.length() / 2; i++) { String currentString = s.substring(0, i); if (currentString.startsWith("0")) { validString = false; break; } long currentNum = Long.parseLong(currentString); validString = true; int diff = 1; int j = i; while (validString && j + currentString.length() <= s.length()) { String nextString = s.substring(j, j + currentString.length()); if (s.charAt(j) != '0' && currentNum + diff == Long.parseLong(nextString)) { j = j + currentString.length(); diff = diff + 1; } else if (s.charAt(j) != '0' && currentString.length() + j + 1 <= s.length() && currentNum + diff == Long.parseLong(s.substring(j, currentString.length() + j + 1))) { j = j + currentString.length() + 1; diff = diff + 1; } else { validString = false; } } if (j == s.length()) { startString = currentString; break; } } if (validString) System.out.println("YES " + startString); else System.out.println("NO"); } }
Seems like cookies are disabled on this browser, please enable them to open this website
Separate the Numbers
You are viewing a single comment's thread. Return to all comments →
JAVA Solution:
Key point : 1 st number will be greater than 1 from starting number, 2 nd number will be greater than 2 from starting number and so on .
public static void separateNumbers(String s) { if (s.length() == 1) System.out.println("NO"); else {