日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

貪心算法原理及在Java中的使用

瀏覽:22日期:2022-08-11 15:58:13
目錄貪心算法區間調度問題好了,說了這么多,那針對該問題正確的貪心策略到底是哪個?應用總結貪心算法

由于貪心算法本身的特殊性,我們在使用貪心算法之前必須要進行證明,保證算法滿足貪心選擇性質。具體的證明方法無外乎就是通過數學歸納法來進行證明。但大部分人可能并不喜歡枯燥的公式,因而我這里提供一個使用貪心算法的小技巧。由于貪心算法某種程度上算是動態規劃算法的特例,使用條件比較苛刻,因而能夠用動態規劃解決的問題盡量都是用動態規劃來進行先解決,如果在用完動態規劃之后,提交時發現問題超時,并且進行狀態壓縮之后仍然超時,此時我們就可以**考慮使用貪心算法來進行解決。**最后強調一下,我們在使用貪心算法之前,如果要保證解法的絕對正確,一定要對問題進行證明,切記,切記!!

下邊我們以區間調度問題為例,來講一下貪心算法到底該如何取用。

區間調度問題

問題描述:

給你很多形如 [start, end] 的閉區間,請你設計一個算法,算出這些區間中最多有幾個互不相交的區間。

舉個例子,intvs = [[1,3], [2,4], [3,6]],這些區間最多有 2 個區間互不相交,即 [[1,3], [3,6]],你的算法應該返回 2。注意邊界相同并不算相交。

這個問題大眼一看好像有很多貪心策略可供選擇,比如我們可以選擇區間最短的?或者選擇開始最早的?。。。

但是上面幾種策略,我們都可以比較容易的舉出反例來排除,同時這也是貪心算法的另一個小技巧--雖然好多時候直接證明貪心策略的正確性很難,但是我們可以從反證法入手,對貪心策略進行證偽,排除許多錯誤的貪心策略。😄😄

好了,說了這么多,那針對該問題正確的貪心策略到底是哪個?

其實正確的思路也比較簡單,可以分成下面三步:

從區間集合中選擇一個區間 x,這個 x 是所有區間中結束最早的(end 最小)。 把所有與 x 區間相交的區間從區間集合中刪除掉。 重復 1 和 2,直到區間集合為空。之前選出的那些 x 的集合就是最大的不想交子集。

這個思路實現成算法的話,可以按照每個區間的 end 數值進行升序排序,因為這樣處理以后實現步驟 1 和步驟 2 就會容易很多。

我們通過下面這個動圖來輔助理解其整個過程。

貪心算法原理及在Java中的使用

由于我們在計數之前進行了排序,所以所有與 x 相交的區間必然會和 x 的 end 相交;如果一個區間不想與 x 的 end 相交,它的 start 必須要大于或者等于 x 的 end。

具體實現的代碼如下:

public int eraseOverlapIntervals(int[][] intervals) { if (intervals.length == 0) { return 0; } Arrays.sort(intervals,new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return o1[1] - o2[1]; }});//排序后的第一個必然可用 int count = 1; int x_end = intervals[0][1]; for (int[] interval : intervals) { if (interval[0] >= x_end) {count++;x_end = interval[1]; } } return count; }應用

如果學會了上面的區間調度問題的話,leetCode 上邊有兩個題目,我們便都可以拿下了。

貪心算法原理及在Java中的使用

這個問題大眼一看好像和我們之前講的那個區間調度問題毫不相關,但仔細分析一下,好像是一模一樣的問題,如果最多有 n 個不重疊的區間,那么就至少需要 n 個箭頭穿透所有區間。

貪心算法原理及在Java中的使用

因而問題也就轉化成了,尋找不重疊區間的個數,但我們要注意的一點是,在 intervalSchedule 算法中,如果兩個區間的邊界觸碰,不算重疊;而按照這道題目的描述,箭頭如果碰到氣球的邊界氣球也會爆炸,所以說相當于區間的邊界觸碰也算重疊。

貪心算法原理及在Java中的使用

代碼實現如下:

public int findMinArrowShots(int[][] points) { if (points.length <= 0) { return 0; } // 在排序的過程中要考慮溢出情況的發生 Arrays.sort(points, (a, b) -> Integer.compare(a[1], b[1])); int count = 1; int x_end = points[0][1]; for (int[] point : points) { if (point[0] > x_end) {count++;x_end = point[1]; } } return count; }總結

本文主要結合一個例子,講了貪心算法的使用方式。

貪心算法實現起來容易,但難在證明。因而文中提供了兩個小竅門輔助判斷是否使用貪心算法:

在使用考慮貪心算法之前,先考慮使用動態規劃(考慮狀態壓縮)解決該問題,如果問題依然超時,則考慮使用貪心算法。 在確定貪心策略之前,先用一些特殊的例子驗證貪心策略的正確性。對于正確的貪心策略,為了保證算法的絕對正確,要通過數學歸納法進行驗證。

以上就是貪心算法原理及在Java中的使用的詳細內容,更多關于Java 貪心算法的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷五月色综合香五月| 国产精品任我爽爆在线播放| 欧美亚洲网站| 亚洲视频二区| 鲁大师成人一区二区三区 | 日韩1区2区日韩1区2区| 国产麻豆综合| 午夜在线精品偷拍| 亚洲欧洲一区二区天堂久久| 久久婷婷亚洲| 国产精品久久久久毛片大屁完整版| 黄色成人91| 91精品一区| 91精品在线免费视频| 人人精品久久| 欧美一区自拍| 国产a久久精品一区二区三区| 欧美日韩中出| 麻豆国产精品777777在线| 国产一区二区三区天码| 国产成人黄色| 婷婷亚洲综合| 日韩精品成人在线观看| 日韩精品亚洲专区| 欧美激情久久久久久久久久久| 91欧美日韩| 久久免费国产| 亚洲资源网站| 麻豆精品蜜桃视频网站| 日韩欧美三级| 国产精品外国| 国产精品**亚洲精品| 红杏一区二区三区| 国产一区视频在线观看免费| 视频在线观看91| 精品网站999| 亚洲一区日韩| 日韩精品亚洲专区| 成人久久一区| 青青伊人久久| 国产精品99一区二区| 欧美专区在线| 久久97久久97精品免视看秋霞| 亚洲成人二区| 欧美国产极品| 亚洲精品亚洲人成在线观看| 亚洲3区在线| 久久精品国产久精国产爱| 视频一区二区三区中文字幕| 国产传媒在线| 欧美日韩国产一区二区在线观看| 亚洲天堂免费电影| 国产日产精品_国产精品毛片 | 999久久久免费精品国产| 欧美日韩1区| 爽好久久久欧美精品| 91精品一区国产高清在线gif| 国产精品亚洲四区在线观看 | 美腿丝袜亚洲三区| 日韩中文字幕视频网| 99国产精品久久久久久久| 欧美亚洲激情| 免费视频亚洲| 日韩av二区| 岛国av在线播放| 色婷婷色综合| 亚洲精品88| 成人看片网站| 久久久久中文| 欧美另类综合| 亚洲一区激情| 亚洲综合婷婷| 精品国产亚洲日本| 日韩高清成人| 亚洲女同一区| 色综合视频一区二区三区日韩 | 激情综合激情| 香蕉久久精品| 日韩精品免费一区二区三区| 国产精品一级在线观看| 日韩成人av影视| 日本不卡一区二区三区| 中文无码日韩欧| 中文字幕av亚洲精品一部二部| 亚洲欧美日韩精品一区二区 | 蜜桃视频在线网站| 日本免费久久| 九九精品调教| 日本精品影院| 久久久久久久久久久妇女| 五月天综合网站| 综合干狼人综合首页| 欧美日韩伊人| 欧美亚洲福利| 国产精品久久久久蜜臀| 欧美国产极品| 中国字幕a在线看韩国电影| 日韩一区二区三区免费| 999国产精品视频| 深夜福利亚洲| 国产成人免费| 老牛国产精品一区的观看方式| 日韩亚洲精品在线观看| 开心激情综合| 国产资源在线观看入口av| 欧美 日韩 国产一区二区在线视频 | 日韩av在线免费观看不卡| 国产日产精品_国产精品毛片 | 国产精品国产三级国产在线观看| 麻豆国产91在线播放| 欧美日韩一区二区综合 | 日韩欧美三区| 久久精品观看| 久久中文字幕一区二区三区| 群体交乱之放荡娇妻一区二区| 老牛国产精品一区的观看方式| 欧美一区二区三区免费看| 久久久久久夜| 亚洲18在线| 91精品国产乱码久久久久久久| 日韩欧美激情电影| 在线日韩av| 国产精品自拍区| 美日韩精品视频| 日韩av片子| 69堂精品视频在线播放| 激情欧美国产欧美| 国产a亚洲精品| 国产精品久久| 性色av一区二区怡红| 激情久久99| 欧美日韩va| 欧美专区18| 亚洲欧洲日本mm| 久久国产免费| 日韩中文首页| 国产精品精品国产一区二区| 国产精选久久| 国产亚洲精品精品国产亚洲综合| 日韩中文欧美在线| 亚洲一区观看| 欧美精选一区二区三区| 日韩高清成人| 日韩av在线中文字幕| 亚洲欧美日韩在线观看a三区 | 国产福利一区二区精品秒拍 | av成人国产| 欧美中文日韩| 麻豆久久精品| 蜜桃av一区二区三区电影| 毛片在线网站| 日韩国产综合| 精品视频国内| 三级小说欧洲区亚洲区| 视频一区中文字幕精品| 日本不卡一二三区黄网| 日本不卡高清| 欧美成a人片免费观看久久五月天| 美女视频黄久久| 国产在线视频欧美一区| 日韩av自拍| 亚洲成人日韩| 亚洲一区二区小说| 久久性天堂网| 日韩av网站免费在线| 日韩国产欧美一区二区三区| 国产欧美精品久久| 国产精品毛片一区二区在线看| 久久国产中文字幕| 欧洲av一区二区| 亚洲一区二区三区免费在线观看| 视频一区二区三区入口| 欧美亚洲免费| 日韩精品电影| 国产aa精品| 视频在线观看一区二区三区| 日韩国产欧美视频| 国产高潮在线| 丝袜诱惑制服诱惑色一区在线观看| 日韩欧美三区| 亚洲不卡系列| 国产99精品| 久久福利在线| 国产精品腿扒开做爽爽爽挤奶网站| 国产一区二区三区自拍| 国产亚洲精品自拍| 久久一区精品| 中文字幕日韩欧美精品高清在线| 久久av网址| 最新国产精品| 欧美sss在线视频| 麻豆精品av| 91国内精品| 性欧美长视频| 欧美好骚综合网| 欧美日韩中出| 宅男噜噜噜66国产日韩在线观看| 电影91久久久| 69堂精品视频在线播放| 99精品网站|