亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java實現求數組最長子序列算法示例

2024-07-14 08:41:30
字體:
來源:轉載
供稿:網友

本文實例講述了Java實現求數組最長子序列算法。分享給大家供大家參考,具體如下:

問題:給定一個長度為N的數組,找出一個最長的單調自增子序列(不一定連續,但是順序不能亂) 例如:給定一個長度為8的數組A{1,3,5,2,4,6,7,8},則其最長的單調遞增子序列為{1,2,4,6,7,8},長度為6。

思路1:第一眼看到題目,很多人肯定第一時間想到的是LCS。先給數組排個序形成新數組,然后再把新數組和原數組拿來求LCS,即可得到答案。這種解法很多人能想得到,所以就不再贅述。

思路2:按照思路1的想法,最后求LCS時還是得用到DP,我們干嘛不直接用DP來求解呢。對于數組arr,我們從后往前遍歷數組,分別求出當子序列以arr[i]結尾時的最長子序列,然后取其中的最大值。即可得到整個數組的最長子序列。 那么怎么求以arr[i]結尾時的最長子序列呢,這就轉換成一個DP問題了。要求arr[i]的最長子序列,只需要求出arr[i-1]的最長子序列。即:max{arr[i]}=max{arr[i-1]}+1。

java實現代碼:

public class arrDemo { public static void main(String[] args) {  // int[] arr = {89, 256, 78, 1, 46, 78, 8};  int[] arr = { 1, 3, 5, 2, 4, 6, 7, 8 };  // int[] arr = {6, 4, 8, 2, 17};  int max = 0;  int maxLen = arr.length;  // 從后往前遍歷數組,分別求出以arr[i]結尾的時候的最長子序列長度  for (int i = arr.length - 1; i > 0; i--) {   int[] newArr = new int[i];   System.arraycopy(arr, 0, newArr, 0, i);   int currentLength = 1 + dp(newArr, arr[i]);   if (currentLength > max)    max = currentLength;   // 最長子序列的長度最長為原始數組的長度,   // 因為不需要我們求最長子序列的元素,所以直接結束循環,減少時間開銷   if (max == maxLen)    break;  }  System.out.println(max); } public static int dp(int[] arr, int end) {  // 遞歸結束條件  if (arr.length == 1) {   // 小于end則包含在子序列中,子序列長度+1   if (arr[0] <= end)    return 1;   else    return 0;  }  // 遍歷數組,找到最靠近end的并且<=end的元素位置i  for (int i = arr.length - 1; i >= 0; i--) {   if (arr[i] <= end) {    // 從i處截斷數組,將arr[0]到arr[i-1]組成新數組繼續遞歸求長度    int[] newArr = new int[i];    System.arraycopy(arr, 0, newArr, 0, i);    // 分別計算包含arr[i]時的最長子序列和不包含arr[i]時的最長子序列,取最大值    int containLen = dp(newArr, arr[i]) + 1;    int notContainLen = dp(newArr, end);    return containLen > notContainLen ? containLen : notContainLen;   }  }  // 如果沒找到比end更小的,返回長度為0  return 0; }}

運行結果:

6

我的方法由于中間開辟了多個新數組,可能占用的空間有點多,不過我覺得應該也不是很多- -,具體我也沒統計過。如果有不對的地方還請指正。

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品欧美激情精品一区| 亚洲第一天堂av| 中文字幕在线日韩| 欧美大成色www永久网站婷| 国产精品午夜视频| 久久99久久99精品中文字幕| 国语自产精品视频在线看抢先版图片| 最近2019年中文视频免费在线观看| 国内免费精品永久在线视频| 欧美激情中文网| 欧美重口另类videos人妖| 亚洲精品福利在线观看| 欧美另类在线播放| 久久久97精品| 欧美成人午夜激情在线| 欧美日本在线视频中文字字幕| 欧美夫妻性生活xx| 久久夜色精品国产欧美乱| 欧美裸身视频免费观看| 亚洲人午夜精品免费| 亚州国产精品久久久| 久久中国妇女中文字幕| 欧美人与性动交a欧美精品| 日韩精品中文字幕在线播放| 精品国产乱码久久久久久婷婷| 成人激情电影一区二区| 久久久亚洲国产| 91欧美精品午夜性色福利在线| 午夜精品福利电影| 亚洲精品久久7777777| 国产性猛交xxxx免费看久久| 亚洲综合一区二区不卡| 亚洲精品欧美日韩专区| 色偷偷偷综合中文字幕;dd| 欧美亚洲日本网站| 亚洲免费伊人电影在线观看av| 久久久久久网址| 国产精品日韩av| 亚洲曰本av电影| 成人a视频在线观看| 中文字幕亚洲欧美| 久久久久久久国产| 日韩视频在线免费| 国产一区在线播放| 国产午夜精品一区理论片飘花| 国产欧美精品xxxx另类| 57pao国产精品一区| 亚洲护士老师的毛茸茸最新章节| 欧美日韩一区免费| 欧洲精品在线视频| 日本成人在线视频网址| 欧美日韩在线免费观看| 亚洲美女精品成人在线视频| 亚洲免费一级电影| 欧美老少做受xxxx高潮| 97精品欧美一区二区三区| 国产色视频一区| 欧美精品一二区| 亚洲国产精品va在线观看黑人| 亚洲美女av在线| 中文字幕亚洲欧美| 久久精品亚洲热| 亚洲欧美日韩精品| 欧美夫妻性生活xx| 日韩av在线看| 日韩中文字幕在线精品| 国产精品a久久久久久| 国产91精品青草社区| 欧美国产日本在线| 久久精品国产清自在天天线| 国产精品美女久久| 日本精品一区二区三区在线播放视频| 日韩久久午夜影院| 韩国欧美亚洲国产| 欧美日韩国产第一页| 欧美裸体xxxx极品少妇软件| 日韩福利在线播放| 亚洲最大的网站| 热久久美女精品天天吊色| 精品国产一区二区在线| 精品高清美女精品国产区| 国产精品电影一区| 久久偷看各类女兵18女厕嘘嘘| 亚洲国产精久久久久久| 亚洲品质视频自拍网| 韩国美女主播一区| 亚洲激情电影中文字幕| 久久久精品免费视频| 久久免费精品视频| 2019中文字幕在线免费观看| 日本不卡高字幕在线2019| 91在线视频导航| 国产suv精品一区二区三区88区| 欧美影院成年免费版| 中文字幕日韩精品有码视频| 亚洲一区av在线播放| 隔壁老王国产在线精品| 国产日本欧美一区二区三区| xxxxxxxxx欧美| 国产亚洲xxx| 欧美日韩亚洲成人| 色一区av在线| 欧美裸体xxxxx| 国内免费精品永久在线视频| 久久久久久久久久久国产| 亚洲精品v天堂中文字幕| 久久免费视频网| 久久精品这里热有精品| 国产精品免费一区二区三区都可以| 欧美亚洲成人免费| 国产亚洲欧洲黄色| 日韩在线www| 日韩中文字幕国产| 精品国产精品自拍| 欧美性猛交xxxx免费看| 98视频在线噜噜噜国产| 亚洲国模精品一区| 久久久精品视频在线观看| 国产综合久久久久| 色综久久综合桃花网| 国产精品av免费在线观看| 精品福利视频导航| 国模gogo一区二区大胆私拍| 欧美另类69精品久久久久9999| 国内精品久久久久久久| 亚洲一区二区久久久久久| 久久精品小视频| 国产小视频91| 91欧美精品午夜性色福利在线| 亚洲欧美国产日韩中文字幕| 欧美限制级电影在线观看| 国产一区二区三区毛片| 91sa在线看| 69久久夜色精品国产69| 北条麻妃99精品青青久久| 国产精品入口尤物| 国产精品亚洲综合天堂夜夜| 欧洲精品在线视频| 日韩69视频在线观看| 久久久www成人免费精品| 在线观看久久av| 亚洲国产高清自拍| 国产丝袜一区二区| 国产成人精品视频在线| 亚洲18私人小影院| 精品国产网站地址| 欧美日产国产成人免费图片| 久久久精品免费| 亚洲在线免费看| 久久久中精品2020中文| 91美女片黄在线观| 亚洲乱亚洲乱妇无码| 人人做人人澡人人爽欧美| 亚洲成色777777女色窝| 亚洲va欧美va在线观看| 色综合亚洲精品激情狠狠| 亚洲视频在线视频| 日本三级久久久| 成人黄色免费片| 91精品国产电影| 亚洲一区二区中文| 午夜精品久久久久久久99热| 日韩有码在线观看| 日韩电影免费在线观看|