1. 程式人生 > 實用技巧 >674. 最長連續遞增序列『簡單』

674. 最長連續遞增序列『簡單』

題目來源於力扣(LeetCode

目錄

一、題目

674. 最長連續遞增序列

題目相關標籤:陣列

注意:陣列長度不會超過10000。

二、解題思路

  1. 初始化變數,最大長度與遞增元素數量初始值為 1

  2. 遍歷陣列,從索引 1 開始

  3. 判斷當前遍歷元素是否大於前一位元素

  4. 若大於,說明為遞增序列,則記錄長度的變數加 1

  5. 若小於等於,則比較最大長度,並重置記錄長度的變數為 1

三、程式碼實現

public static int findLengthOfLCIS(int[] nums) {
    // 陣列長度為 0 的判斷
    if (nums.length < 1) {
        return 0;
    }
    // 初始長度為 1
    int maxLen = 1;
    int count = 1;
    for (int i = 1; i < nums.length; i++) {
        // 若當前遍歷元素大於前一位元素
        if (nums[i] > nums[i - 1]) {
            count++;
        } else {
            // 更新最大長度
            maxLen = Math.max(maxLen, count);
            // 長度記錄重置為 1
            count = 1;
        }
    }
    return Math.max(maxLen, count);
}

四、執行用時

五、部分測試用例

public static void main(String[] args) {
    int[] nums = {1, 3, 5, 4, 7};  // output: 3
//    int[] nums = {2, 2, 2, 2, 2};  // output: 1

    int result = findLengthOfLCIS(nums);
    System.out.println(result);
}