演算法學習(二)

2021-10-19 05:19:29 字數 903 閱讀 5315

貪心演算法:採用貪心策略,保證每次操作都是區域性最優,從而使得之後結果得到的結果是全域性最優的;也適用於全域性結果是區域性結果的簡單之和

解決:區間問題;分配問題。

leetcode 435 無重疊區間

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

注意:可以認為區間的終點總是大於它的起點。

區間 [1,2] 和 [2,3] 的邊界相互「接觸」,但沒有相互重疊。

示例 1

:輸入:[[

1,2]

,[2,

3],[

3,4]

,[1,

3]]輸出:

1解釋: 移除 [1,

3] 後,剩下的區間沒有重疊。

結尾越小,留給其他區間的空間就越大,因此優先保留區間結尾小且不相交的區間

步驟:對區間尾排序

區間選擇

class

solution

: def eraseoverlapintervals

(self, intervals: list[list[int]])

-> int:

j,k =0,

0 intervals.

sort

(key = lambda x:

[x[1]]

) #區間尾公升序排序

for i in

range(1

,len

(intervals)):

if intervals[k][1

]> intervals[i][0

]:j +=

1else

: k = i

return j

Python演算法學習《二》

說謊問題 某地發生了一件 案,警察通過排查確定殺人 必為4個 嫌疑犯的乙個。以下為4個嫌疑犯的供詞。a說 不是我。b說 是c。c說 是d。d說 c在胡說 已知3個人說了真話,1個人說的是假話。現在請根據這些資訊,寫乙個程式來確定到底誰是 class solution object def who m...

Opencv演算法學習二

1.直方圖 中畫素值分布情況的座標圖。直方圖均衡化 按一定規律拉伸畫素值,提高畫素值少的點,增加原圖的對比度,使人感覺更清晰的函式。equalizehist src,dst 2.haar角點檢測 首先說邊緣檢測是檢測出相鄰畫素點的變化,而角點則是兩個方向上的畫素變化的角點,我們稱為角點。常用作特徵點...

演算法學習(二 氣泡排序

問題 給定陣列,進行排序 方法 依次找到每個位置上的元素。簡單理解就是每次得到乙個元素的相對大小位置。就想泡泡一樣,最大的泡泡會被沉在底下一樣。首先找到最大的泡泡,然後依次找到第二大的,第三大的。實現 package com.xueyou 氣泡排序 public class bubblesort s...