刪除重疊的區間的個數

2022-09-16 17:51:14 字數 1504 閱讀 1964

刪除重疊的區間的個數

package

my;import

j**a.util.arrays;

public

class

nooverlapintervals2

//將所有區間按照起始時間排序

arrays.sort(intervals ,(v1,v2) -> v1[0] -v2[0]);

//用乙個變數end 記錄前期的最小結束時間點,

//以及乙個count 變數記錄到目前為止刪除掉了多少區間

int end = intervals[0][1], count =0;

//從第二個區間開始,判斷一下當前區間和前乙個區間的結束時間

for (int i = 1 ;i < intervals.length; i++)

else

}//如果沒有發生重疊,根據貪婪法,更新end 變數為當前區間的結束時間

return

count ;

}public

static

void

main(string args),,,,,};

nooverlapintervals2 noi = new

nooverlapintervals2();

int n =noi.eraseoverlapintervals(inte);

system.out.println(n);

}}

//在給定區間中,最多有多少個區間相互之間是沒有重疊的?
package

my;import

j**a.util.arrays;

//在給定區間中,最多有多少個區間相互之間是沒有重疊的?

public

class

nooverlapintervals3

//按照結束時間將所有區間進行排序

arrays.sort(intervals ,(v1,v2) -> v1[1] -v2[1]);

//定義乙個變數end 用來記錄當前的結束時間;

//count變數用來記錄有多少個沒有重疊的區間;

int end = intervals[0][1] ,count = 1;

//從第二個區間開始遍歷剩下的區間

for(int i= 1 ;i < intervals.length ; i++)

}//用總區間的個數減去沒有重疊的區間個數,即為最少要刪除掉的區間個數

return intervals.length -count;

}public

static

void

main(string args),,,,,};

nooverlapintervals3 noi = new

nooverlapintervals3();

int n =noi.eraseoverlapintervals(inte);

system.out.println(n);

}}

重疊區間的個數

題目 給定多個可能的重疊的區間,找出重疊區間的個數。區間的定義如下 class interval 首先,要定義區間的類,實現comparable介面,含有起點與止點的值和型別,還要重寫用於排序的compareto函式。class point implements comparable 還需要實現co...

演算法練習 重疊區間個數

一 題目描述 給定多個可能重疊的區間,找出重疊區間的個數。舉例如下 輸入 1,5 10 15 5 10 20 30 輸出 2 說明 題意應該是找出重疊區間中區間的最大個數,當沒有區間重疊時,重疊個數最大為1 比如 輸入為 1,5 10 15 則輸出為1 輸入為 1,2 2,3 3,4 4,5 則輸出...

LeetCode 435 不重疊的區間個數

給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 可以認為區間的終點總是大於它的起點。區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。示例 1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。示例 2 輸入 1,2 1,...