亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

LIS 最長遞增子序列 Java的簡單實現(xiàn)

 更新時間:2016年09月20日 08:25:46   投稿:jingxian  
下面小編就為大家?guī)硪黄狶IS 最長遞增子序列 Java的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

今天遇到了一個求最長遞增子序列的問題,看了之后就嘗試著用Java實現(xiàn)了一下,關于什么是最長遞增子序列,這里就不在贅述,可以百度或者Google之,以下為實現(xiàn)的代碼:

說明:本段代碼實現(xiàn)的功能為

(1)隨機生成一個有10個元素的數組,然后輸出它的最長遞增子序列
(2)輸出以其中某一個元素為結尾的最長遞增子序列的長度

具體的實現(xiàn)思路在注釋中已經詳細表明了,比較簡單,這里就不再贅述

import java.util.Arrays;
import java.util.Random;

public class LIS {

  public static void main(String[] args){
    System.out.println("generating a random array...");
    LIS lis=new LIS();
    int[] oldArray=lis.randomArray();
    for (int i = 0; i < oldArray.length; i++) {
      System.out.print(oldArray[i]+" ");
    }

    System.out.println();
    System.out.println("最長遞增子序列的長度為");
    lis.lisGet(oldArray);

  }

  public int[] randomArray(){
    Random random=new Random();
    int[] randomArray=new int[10];
    for (int i = 0; i < 10; i++) {
      randomArray[i]=random.nextInt(10);
    }
    return randomArray;
  }

  public void lisGet(int[] arrayL ){

    int[] lisLength=new int[arrayL.length];//用于記錄當前個元素作為最大元素的最長遞增序列的長度

    for (int i = 0; i < arrayL.length; i++) { //初始化
      lisLength[i]=1;
    }

    int max=1;

    for (int i = 1; i < arrayL.length; i++) {
      for (int j = 0; j <i; j++) {

        if (arrayL[j]<arrayL[i]&&(lisLength[j]+1)>lisLength[i]) {          
          lisLength[i]=lisLength[j]+1;
        }

        if (max<lisLength[i]) { //得到當前最長遞增序列的長度以及該子序列的最末元素的位置
          max=lisLength[i];
        }      
      }

    }

    System.out.println(max);

    System.out.println("第i個元素結尾時最長遞增子序列:"+Arrays.toString(lisLength)); //輸出數組
  }

}

以上就是小編為大家?guī)淼腖IS 最長遞增子序列 Java的簡單實現(xiàn)的全部內容了,希望對大家有所幫助,多多支持腳本之家~

相關文章

  • Java如何對方法進行調用詳解

    Java如何對方法進行調用詳解

    今天給大家整理了Java如何對方法進行調用,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Java拷貝文件夾和刪除文件夾代碼實例

    Java拷貝文件夾和刪除文件夾代碼實例

    這篇文章主要介紹了Java拷貝文件夾和刪除文件夾代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程

    Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項目開始。您可以使用 github 中的 idf-template 項目,接下來通過本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程,感興趣的朋友一起看看吧
    2021-10-10
  • 如何處理器攔截器(HandlerInterceptor)

    如何處理器攔截器(HandlerInterceptor)

    這篇文章主要介紹了如何處理器攔截器(HandlerInterceptor)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java中自帶有并發(fā)屬性的List總結

    java中自帶有并發(fā)屬性的List總結

    java中有很多l(xiāng)ist,但是原生支持并發(fā)的并不多,那么java中的并發(fā)list到底有哪些呢?下面小編就來給大家介紹一下ArrayList、CopyOnWriteArrayList、ConcurrentLinkedDeque這幾個吧
    2023-09-09
  • 通過jstack分析解決進程死鎖問題實例代碼

    通過jstack分析解決進程死鎖問題實例代碼

    這篇文章主要介紹了通過jstack分析解決進程死鎖問題實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • DoytoQuery中關于N+1查詢問題解決方案詳解

    DoytoQuery中關于N+1查詢問題解決方案詳解

    這篇文章主要為大家介紹了DoytoQuery中關于N+1查詢問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 二代身份證驗證示例

    二代身份證驗證示例

    這篇文章主要介紹了二代身份證驗證示例,需要的朋友可以參考下
    2014-02-02
  • Java使用PrepareStatement實現(xiàn)數據的插入與查詢操作

    Java使用PrepareStatement實現(xiàn)數據的插入與查詢操作

    這篇文章主要為大家詳細介紹了Java如何使用PrepareStatement實現(xiàn)數據的插入與查詢操作,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-09-09
  • SpringBoot整合freemarker實現(xiàn)代碼生成器

    SpringBoot整合freemarker實現(xiàn)代碼生成器

    這篇文章主要為大家詳細介紹了SpringBoot如何整合freemarker實現(xiàn)一個簡單的代碼生成器,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03

最新評論