刷題之路 最短子陣列問題

2021-07-13 10:30:56 字數 412 閱讀 3383

對於乙個陣列,請設計乙個高效演算法計算需要排序的最短子陣列的長度。

給定乙個int陣列a和陣列的大小n,請返回乙個整型,代表所求序列的長度。保證a中元素均為正整數。

我們需要確定最短子陣列,也就是說我們需要找到需要排序的數字,同時排除應該站在原地的數字。

首先從前往後遍歷,不斷記錄下遍歷的最大值,當之後的數字比他小時,記錄位置,我們需要記錄下最右的位置,也就是說這個數必定是在這個記錄位置的之後。之後我們從後往前遍歷,不斷記錄遍歷的最小值,當之後的數字比他大時,記錄位置,我們需要記錄下最左的位置,也就是說這個數必定在這個記錄位置之前。兩個位置之間的數字就是需要排序的最短子串行。**如下

class subsequence

if(left==right) return 0;

return left-right+1;}};

刷題之路 連續子陣列的最大和

常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第3個為止 首先,從頭開始求和,若一直為正數,則不斷更新最後結果,這樣如果遇到負數,就記錄下了之前的最大值 第...

亞子哥刷題之路 N皇后問題

n皇后問題是指在n n的棋盤上要擺n個皇后,要求任何兩個皇后不同行 不同列,也不在同一條斜線上。給定乙個整數n,返回n皇后的擺法有多少種?舉例 n 1,返回1 n 2或3 無論怎麼擺都不行,返回0.n 8,返回921 如果在 i,j 位置 第i行第j列 放置乙個皇后,接下來哪些位置不能放置皇后呢?2...

刷題之路 揹包問題

乙個揹包有一定的承重cap,有n件物品,每件都有自己的價值,記錄在陣列v中,也都有自己的重量,記錄在陣列w中,每件物品只能選擇要裝入揹包還是不裝入揹包,要求在不超過揹包承重的前提下,選出物品的總價值最大。給定物品的重量w價值v及物品數n和承重cap。請返回最大總價值。經典動態規劃問題,類似於找零錢問...