How to Guess the Sequence in Java

The challenge

You must guess a sequence and it has something to do with the number given.

Example

x = 16 result = [1, 10, 11, 12, 13, 14, 15, 16, 2, 3, 4, 5, 6, 7, 8, 9]

The solution in Java code

Option 1:

import java.util.stream.IntStream; class Challenge { static int[] sequence(int x) { return IntStream.rangeClosed(1, x) .mapToObj(String::valueOf) .sorted() .mapToInt(Integer::parseInt) .toArray(); } }
Code language: Java (java)

Option 2:

import java.util.*; class Challenge { static int[] sequence(int x) { String arr[] = new String[x]; for(int i =1;i<=x;i++){ arr[i-1]= ""+i; } Arrays.sort(arr); int[] tor = new int[x]; for(int i = 0;i<x;i++){ tor[i] = Integer.parseInt(arr[i]); } return tor ; } }
Code language: Java (java)

Option 3:

class Challenge { public static int[] sequence(int x) { final var result = new int[x]; int index = 0; for (int i = 1; i <= 9; i++) { result[index++] = i; for (int j = i * 10; j <= x && j < (i + 1) * 10; j++) result[index++] = j; } return result; } }
Code language: Java (java)

Test cases to validate our solution

import org.junit.Test; import static org.junit.Assert.assertEquals; import org.junit.runners.JUnit4; import java.util.Arrays; public class SolutionTest { @Test public void test0() { int[] result = {1, 10, 11, 12, 13, 14, 15, 16, 2, 3, 4, 5, 6, 7, 8, 9}; int x = 16; String expected = Arrays.toString(result), actual = Arrays.toString(Challenge.sequence(x)); assertEquals(expected, actual); } @Test public void test1() { int[] result = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int x = 9; String expected = Arrays.toString(result), actual = Arrays.toString(Challenge.sequence(x)); assertEquals(expected, actual); } }
Code language: Java (java)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments