# Minimum number that cannot be formed by any subset of an array

Objective: Given a sorted array of positive integers, find out the smallest integer which cannot be represented as the sum of any subset of the array

Input: A Sorted Array

Output: The smallest number which cannot be represented as the sum of any subset of the given array

Examples :

```Array {1,1,3,4,6,7,9} smallest Number : 32
Array {1,1,1,1,1} smallest Number : 6
Array {2,3,6,7} smallest Number : 1
Array {1,2,6,7,9} smallest Number : 4
```

Approach:

• If 1 is not present in the array, our answer is 1.
• So take a variable “smlNumber” and assign 1 to it.
• Now we need to find the gap between the array elements which cannot be represented as sum of any subset of array.
• To find that keep adding the array elements to smlNumber and check it current array element and if at any point smlNumber<current array element that means we have found the gap. return smlNumber.
• See figure The smallest number which cannot be represented as the sum of any subset of the given array

Complete Code:

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

 public class SmallestIntegerInSortedArray { public int find(int [] arrA){ int smlNumber = 1; for(int i = 0;i

```Output:
Smallest Positive Integer that cant be represented by the sum of any subset of following arrays are :

{1,1,3,4,6,7,9} - 32
{1,1,1,1,1} -> 6
{2,3,6,7} -> 1
{1,2,6,7,9} -> 4```

### 1 thought on “Minimum number that cannot be formed by any subset of an array”

This site uses Akismet to reduce spam. Learn how your comment data is processed.