FastPrepLongest Subarray

Longest Subarray

Goldman Sachs logoGoldman SachsEasyINTERNFULLTIMEOA
Learn

Problem statement

A subarray of an array is defined as a contiguous block of a’s elements having a length that is less than or equal to the length of the array. For example, the subarray of array a = [1, 2, 3] are [1], [2], [3], [1, 2], [2,3], and [1, 2, 3] . Given an integer, k = 3 , the subarrays having elements that sum to a number <= k are [1], [2], and [1, 2]. The longest of these subarrays is [1, 2], which has a length of 2. Given an array, a, determine its longest subarray that sums to less than or equal to a given value k.

Function

longestSubarray(a: int[], k: int) → int

Complete the function maxLength in the editor. The function must return an integer that represents the length of the longest subarray of a that sums to a number <= k.

maxLength has the following parameter(s):

  • a[a[0],...a[n - 1]]: an array of integers
  • k: an integer

Examples

Example 1

a = [3, 1, 2, 3]k = 4return = 2

The subarrays of [1, 2, 3] having elements that sum to a number <= (k = 4) are [1], [2], [3] and [1, 2]. The longest of these is [1, 2], which has a length of 2. Return 2 as the answer.

Constraints

  • 1 <= n <= 105
  • 1 <= a[i] <= 103
  • 1 <= k <= 109

More Goldman Sachs problems

See Goldman Sachs hiring insights
public int longestSubarray(int[] a, int k) {
    // write your code here
}
a[3, 1, 2, 3]
k4
expected2
Checking account…