Given an array of intervals `intervals`

where `intervals[i] = [start`

, return _{i}, end_{i}]*the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping*.

**Example 1:**

Input:intervals = [[1,2],[2,3],[3,4],[1,3]]Output:1Explanation:[1,3] can be removed and the rest of the intervals are non-overlapping.

**Example 2:**

Input:intervals = [[1,2],[1,2],[1,2]]Output:2Explanation:You need to remove two [1,2] to make the rest of the intervals non-overlapping.

**Example 3:**

Input:intervals = [[1,2],[2,3]]Output:0Explanation:You don't need to remove any of the intervals since they're already non-overlapping.

**Constraints:**

`1 <= intervals.length <= 2 * 10`

^{4}`intervals[i].length == 2`

`-2 * 10`

^{4}<= start_{i}< end_{i}<= 2 * 10^{4}

class Solution {
public int eraseOverlapIntervals(int[][] intervals) {
}
}