無重疊區間

2021-10-07 11:18:39 字數 1189 閱讀 8204

最近做題發現無重疊區間出現的比較多,在此做個記錄,但願你,思維活躍,邏輯縝密,多的不扯,堅持刷題^_^。

給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。

分析題意,說的是無重疊區間,那就是利用區間數字的大小做判斷唄,所以對整體陣列排序不會對整體結果造成影響。但是對做題人來說那就簡單多了,有時候,看似沒有規律的事情,分析到它的本質,就有可能發現題中的規律,千萬不要去被題目帶偏,用程式去模擬很亂的思緒,這樣只會越寫越亂,更不要期待能做出正確的結果。

廢話不說了,看**吧,注釋挺清楚。

bool judge(vectora, vectorb)

class solution

}return len-count;

}};

2、用最少數量的箭引爆氣球

相似的題目,話不多少。

bool judge(vectora, vectorb)

class solution

}return count;

}};

小明最近在做病毒自動檢測,他發現,在某些library 的**段的二進位制表示中,如果包含子串並且恰好有k個1,就有可能有潛在的病毒。library的二進位制表示可能很大,並且子串可能很多,人工分析不可能,於是他想寫個程式來先算算到底有多少個子串滿足條件。如果子串內容相同,但是開始或者結束位置不一樣,則被認為是不同的子串。

注:子串一定是連續的。例如"010"有6個子串,分別是 "0, "1", "0", "01", "10", "010"

#include #include #include #include using namespace std;

int numsubstring(int k, string & str)

} if (count < k)

return 0;

for (int i = 0; i < size; ++i)

index++;

} //尋求左邊沿固定情況下符合情況的所有值

while (index> num;

string str;

cin >> str;

cout << numsubstring(num, str);

system("pause");

return 0;

}

無重疊區間

給定一些區間,找到需要移除的最小區間數,以使其餘的區間不重疊。樣例1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 1,3 被移除後,剩下的區間將不再重疊。樣例2 輸入 1,2 1,2 1,2 輸出 2 解釋 需要將兩個 1,2 移除使得剩下的區間不重合。樣例3 輸入 1,2 2,3 輸出 ...

無重疊區間

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

435 無重疊區間

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