摘要:文章目錄毛遂自薦題目題外話正經點,解題思路代碼實現最后皮皮蝦一個沙雕而又有趣的憨憨少年,和大多數小伙伴們一樣喜歡聽歌游戲,當然除此之外還有寫作的興趣,,日子還很長,讓我們一起加油努力叭話不多說,直達底部有粉絲專享福利毛
Code皮皮蝦 一個沙雕而又有趣的憨憨少年,和大多數小伙伴們一樣喜歡聽歌、游戲,當然除此之外還有寫作的興趣,emm…,日子還很長,讓我們一起加油努力叭?
毛遂自薦一下,給大家推薦一下自己的專欄?,歡迎小伙伴們收藏關注?
本題是求最長遞增子序列的個數,而不是最長遞增子序列的長度,不會有小伙伴上來就給我擺出下面這個代碼的叭!不會吧不會吧( ̄▽ ̄)
別問我是怎么知道的(手動滑稽)
class Solution { public int lengthOfLIS(int[] nums) { int[] dp = new int[nums.length]; for(int i = 0;i < nums.length;i++) { dp[i] = 1; } int res = 1; for(int i = 1;i < nums.length;i++) { for(int j = 0;j < i;j++) { if(nums[j] < nums[i]) { dp[i] = Math.max(dp[i],dp[j] + 1); } } res = Math.max(res,dp[i]); } return res; }}
本題要的是,最長遞增子序列的個數,那么我們得知道最長是多少,才能再去求最長得序列個數是多少!
利用動態規劃,設置int[] dp = new int[nums.length];數組記錄長度
,設置int[] counts = new int[nums.length];記錄個數
那么狀態如何轉移呢?
如果有熟悉 300.最長子序列的小伙伴可能知道,我也不廢話
因為要遞增,所以?
當j < i && nums[j] < nums[i]的時候,就需要去判斷當前 dp[j] + 1 > dp[i],
如果為true,說明:dp[j]是不能接在dp[i]前面,遞增序列有更大的長度,那么需要更新長度,既然有更大的長度,那么 counts[i] = counts[j],因為count[i]所以記錄的個數已經無效了
但如果dp[j] + 1 == dp[i],說明dp[j]是可以接在dp[i]前面的,所以要 counts[i] += counts[j];
class Solution { public int findNumberOfLIS(int[] nums) { int len = nums.length; if (len <= 1) return len; int[] dp = new int[len]; int[] counts = new int[len]; //至少長度為1 Arrays.fill(counts, 1); int maxLen = 0; for (int i = 0; i < len; i++) { for (int j = 0; j < i; j++) { if (nums[j] < nums[i]) { if (dp[j] + 1 > dp[i]) { dp[i] = dp[j] + 1; counts[i] = counts[j]; }else if (dp[j] + 1 == dp[i]) { counts[i] += counts[j]; } } } maxLen = Math.max(maxLen,dp[i]); } //通過比較maxLen,來進行個數的增加 int res = 0; for (int i = 0; i < len; ++i) { if (dp[i] == maxLen) { res += counts[i]; } } return res; }}
我是 Code皮皮蝦,一個熱愛分享知識的 皮皮蝦愛好者,未來的日子里會不斷更新出對大家有益的博文,期待大家的關注!!!
創作不易,如果這篇博文對各位有幫助,希望各位小伙伴可以一鍵三連哦!,感謝支持,我們下次再見~~~
公眾號干貨內容輸出,囊括Java、Python爬蟲、力扣題解、大廠面試題 四大系列,更有長時間總結的干貨資源分享,后臺回復:面試資料即可領取
最后,祝各位步步高升???
???????????????????????????????????????????????????粉絲福利??????
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/120979.html
摘要:題目描述鏈接來源牛客網牛牛現在有一個個數組成的數列牛牛現在想取一個連續的子序列并且這個子序列還必須得滿足最多只改變一個數就可以使得這個連續的子序列是一個嚴格上升的子序列牛牛想知道這個連續子序列最長的長度是多少。 題目描述 鏈接:https://www.nowcoder.com/ques...來源:牛客網 牛牛現在有一個n個數組成的數列,牛牛現在想取一個連續的子序列,并且這個子序列還必須...
摘要:第一種方法常規方法。如果不存在公共前綴,返回空字符串。注意假設字符串的長度不會超過。說明本題中,我們將空字符串定義為有效的回文串。示例輸入輸出一個可能的最長回文子序列為。數值為或者字符串不是一個合法的數值則返回。 說明 本文作者:wwwxmu 原文地址:https://www.weiweiblog.cn/13s... 作者的博客站點:https://www.weiweiblog.c...
摘要:文章目錄前言爬取分析視頻教學成果展示福利入門到就業學習路線規劃小白快速入門爬蟲路線前言皮皮蝦一個沙雕而又有趣的憨憨少年,和大多數小伙伴們一樣喜歡聽歌游戲,當然除此之外還有寫作的興趣,,日子還很長,讓我們一起加油努力叭話 ...
摘要:本質找出最長的遞增子序列的長度,可以是不連續的。應用判斷滿足一定條件的子序列的最大長度,用動態數組加以處理。二分法確定滿足條件的位置。類似二分法查找元素,查找某種情況的子序列。 本質: 找出最長的遞增子序列的長度,可以是不連續的。 用一個數組存儲 遞增子序列,遍歷原始數組,每增加一個數,往里添加到對應的順序,記錄他的位置,即為此數組的長度。 成立的理由:每一個數添加以后,都有對...
摘要:在爬蟲的編寫過程中使用最多的是,它表示查看請求和響應的數據內容。后續在打開剛才加載的軟件,例如本次案例打開的是皮皮蝦,開啟,成功捕獲到如下請求,這個地方就是最終的接口了。復制接口地址,在本地瀏覽器打開,得到皮皮蝦的視頻評論數據。 ...
閱讀 2255·2023-04-26 02:14
閱讀 2926·2021-09-30 09:46
閱讀 2101·2021-09-24 09:48
閱讀 952·2021-09-24 09:47
閱讀 3252·2019-08-30 15:44
閱讀 1879·2019-08-30 15:44
閱讀 3278·2019-08-30 14:18
閱讀 1949·2019-08-30 12:58