Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Collections;
- public class Action {
- public static void main(String[] args) {
- long start = System.nanoTime();
- String givenNumber = "75478569123456871234567854123456701234567892452655";
- String foundNumber = findTheLargestSuccessiveNumber(givenNumber);
- long elapsedTime = System.nanoTime() - start;
- System.out.print("time: " + elapsedTime + " nanoseconds"
- + "\nLargest successive Number: " + foundNumber );
- }
- public static String findTheLargestSuccessiveNumber(String givenNumber) {
- String finalFoundNumber = "0";
- int tempFoundNumber = 0;
- int length = givenNumber.length();
- ArrayList<String> list = new ArrayList<>();
- ArrayList<Integer> list2 = new ArrayList<>();
- int x = 0;
- for (int i = 0; i<length; i++) {
- x = Character.getNumericValue(givenNumber.charAt(i));
- if(x == tempFoundNumber + 1) {
- finalFoundNumber = finalFoundNumber + x;
- tempFoundNumber = Integer.valueOf(finalFoundNumber);
- list.add(finalFoundNumber);
- }else {
- finalFoundNumber = "";
- }
- tempFoundNumber = x;
- }
- int aLength = list.size();
- for(int i = 0; i < aLength; i++) {
- list2.add(Integer.parseInt(list.get(i).toString()));
- }
- finalFoundNumber = String.valueOf(Collections.max(list2));
- return finalFoundNumber;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement