Problem · Array

Biggest Number From Digits

Learn this problem
EasyGoogle logoGoogleOA
See Google hiring insights

Problem statement

There is an array, named 'digits', consisting of N digits. Choose at most three digits (not necessarily adjacent) and merge them into a new integer without changing the order of the digits. What is the biggest number that can be obtained this way?

Write a function:

biggestNumberFromDigits

that, given an array of N digits, returns the biggest number that can be built.

Examples:

  1. Given digits = [7, 2, 3, 3, 4, 9], the function should return 749.
  2. Given digits = [0, 0, 5, 7], the function should return 57.

Assume that:

  • N is an integer within the range [3..50];
  • each element of array named 'digits', is an integer within the range [0..9].

In your solution, focus on correctness. The performance of your solution will not be the focus of the assessment.

Memo 🐌 On the source image it says the question is an "exercise", I've never done Google assessment before, so I am not sure if it is just a warm up exercie before the actual test.

Function

biggestNumberFromDigits(digits: int[]) → int

Examples

Example 1

digits = [7, 2, 3, 3, 4, 9]return = 749
The biggest number that can be built by choosing at most three digits is 749.

Example 2

digits = [0, 0, 5, 7]return = 57
The biggest number that can be built by choosing at most three digits is 57.

Constraints

  • N is an integer within the range [3..50].
  • Each element of array named 'digits', is an integer within the range [0..9].

More Google problems

drafts saved locally
public int biggestNumberFromDigits(int[] digits) {
  // write your code here
}
digits[7, 2, 3, 3, 4, 9]
expected749
checking account