求乙個無序陣列的最長連續遞增序列

2021-09-30 20:33:20 字數 1008 閱讀 2910

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

示例 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。

package leetcode;

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

*/class

solution

for(

int i=

0; i

1; i++

)// 在不連續的陣列元素的地方作為乙個斷點

通過leetcode的測試用例:

求乙個無序陣列的中位數

求乙個無序陣列的中位數 中位數是將陣列排序之後,陣列個數為奇數時,取中間的即為中位數 陣列個數為偶數時,取中間兩個的平均值即為中位數。思路一 要取得中位數,即給陣列排序,使用任意排序演算法均可,然後按陣列下標取其中位數。ps 該方法很直觀,此處不實現 思路二 1.設陣列元素為n個,且為奇數個時,取陣...

求乙個無序陣列的中位數

思路一 利用堆排序的思路 將前n 2的元素放進乙個大堆裡,然後將後續的元素與堆頂比較,如果比堆頂大,則繼續比下乙個,如果比堆頂小,則與堆頂的值進行交換。這樣操作完後,堆裡的元素都是比堆頂小的,不再堆裡的元素都比堆頂大,則堆頂就是中位數。void findmid int a,int size 中位數是...

求乙個無序陣列的中位數(Python)

最簡單的方法是先將陣列排序,然後找中位數。但此種方法肯定不是最優的。乙個比較好的做法是利用小頂堆。思路如下 1.取前len nums 2個元素建立小頂堆。可以知道堆頂元素是前len nums 2個元素中最小的。2.從第len nums 2 1個元素開始,依次將其與堆頂元素比較。若比對頂元素大,則替換...