1. 程式人生 > >Leetcode 674. 最長連續遞增序列

Leetcode 674. 最長連續遞增序列

給定一個未經排序的整數陣列,找到最長且連續的的遞增序列。

示例 1:

輸入: [1,3,5,4,7]
輸出: 3
解釋: 最長連續遞增序列是 [1,3,5], 長度為3。
儘管 [1,3,5,7] 也是升序的子序列, 但它不是連續的,因為5和7在原數組裡被4隔開。 

示例 2:

輸入: [2,2,2,2,2]
輸出: 1
解釋: 最長連續遞增序列是 [2], 長度為1。

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

 很久沒寫演算法了,所以只能從最簡單的開始做,哈哈哈恬不知恥的直接用陣列做完了。題目沒啥好說的,第一次來leetcode做題,不大適應格式,自己寫的過不了,後來發現必須按照他的方式來,這道題它只要求我寫出求最長連續遞增序列的長度的函式就行。

PS:特別注意下,陣列長度有可能為0。

程式碼如下:

int findLengthOfLCIS(int* nums, int numsSize) {
    int sum=1,ans=0;
    if(!numsSize)return 0;
    for(int i=1;i<numsSize;i++)
    {
        if(nums[i-1]<nums[i])sum++;
        else
        {
            if(ans<sum)ans=sum;
            sum=1;
        }
    }
    if(ans<sum)ans=sum;
    return ans;
}