Skip to content

Instantly share code, notes, and snippets.

@jandk
Created July 8, 2016 11:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jandk/772d4187dc6be407042e73c702672eb0 to your computer and use it in GitHub Desktop.
Save jandk/772d4187dc6be407042e73c702672eb0 to your computer and use it in GitHub Desktop.
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class LargestNumber
{
public static void main(String[] args)
{
String number = IntStream.range(1, 31)
.mapToObj(String::valueOf)
.collect(Collectors.joining());
int[] values = number.chars()
.map(x -> x - '0')
.toArray();
int len = number.length();
System.out.println(number);
System.out.println(Arrays.toString(values));
System.out.println(len);
int max = 0;
for (int i = 0; i < len; i++)
for (int j = i + 1; j < len; j++)
for (int k = j + 1; k < len; k++)
for (int l = k + 1; l < len; l++)
for (int m = l + 1; m < len; m++)
for (int n = m + 1; n < len; n++)
for (int o = n + 1; o < len; o++)
max = Math.max(max, join(values, i, j, k, l, m, n, o));
System.out.println(max);
}
private static int join(int[] values, int i, int j, int k, int l, int m, int n, int o)
{
return values[i] * 1_000_000
+ values[j] * 100_000
+ values[k] * 10_000
+ values[l] * 1000
+ values[m] * 100
+ values[n] * 10
+ values[o];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment