# Java: Find the smallest length of a contiguous subarray of which the sum is greater than or equal to specified value

## Java Array: Exercise-70 with Solution

Write a Java program to find the smallest length of a contiguous subarray of which the sum is greater than or equal to a specified value. Return 0 instead.

Example:

Input :

nums = {1, 2, 3, 4, 6}

Output:

Minimum length of a contiguous subarray of which the sum is 8, 2

**Sample Solution**:

**Java Code:**

```
import java.util.Arrays;
public class solution {
public static void main(String[] args)
{
int[] nums = {1, 2, 3, 4, 6};
int m_len = 8;
int result = min_SubArray_length(8, nums);
System.out.printf("\nOriginal array: "+Arrays.toString(nums));
System.out.printf("\nMinimum length of a contiguous subarray of which the sum is %d, %d ",m_len, result);
}
public static int min_SubArray_length(int s, int[] nums) {
int sum = 0, ctr = 0, min_len = Integer.MAX_VALUE;
for (int i = 0, j = 0; j < nums.length; ) {
if (nums[j] >= s) {
return 1;
} else {
sum += nums[j];
ctr++;
if (sum >= s) {
min_len = Math.min(min_len, ctr);
while (j > i) {
sum -= nums[i];
ctr--;
i++;
if (sum < s) break;
min_len = Math.min(min_len, ctr);
}
}
}
j++;
}
if (min_len == Integer.MAX_VALUE) {
return 0;
}
return min_len;
}
}
```

Sample Output:

Original array: [1, 2, 3, 4, 6] Minimum length of a contiguous subarray of which the sum is 8, 2

**Flowchart:**

**Java Code Editor:**

**Improve this sample solution and post your code through Disqus**

**Previous:** Write a Java program to find minimum subarray sum of specified size in a given array of integers.

**Next:** Write a Java program to form the largest number from a given list of non negative integers.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

## Java: Tips of the Day

**Oddness Check**

Is it possible to use this code to accurately determine the odd number?

public boolean oddOrNot(int num) { return num % 2 == 1; }

I hope you noticed a trick. If we decide to check a negative odd number in such a way (-5, for example), the remainder of the division will not be equal to one (what does it mean?) Therefore, use a more accurate method:

public boolean oddOrNot(int num) { return (num & 1) != 0; }

It not only solves the problem of negative numbers, but also works more productively than its predecessor. Arithmetic and logical operations are performed much faster than multiplication and division.

Ref: https://bit.ly/3giyonA

**Weekly Trends**- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook