国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做logo有哪些網(wǎng)站2022年度關(guān)鍵詞

做logo有哪些網(wǎng)站,2022年度關(guān)鍵詞,網(wǎng)頁設(shè)計網(wǎng)站免登陸,網(wǎng)站做境外第三方支付力扣爆刷第100天之hot100五連刷86-90 文章目錄 力扣爆刷第100天之hot100五連刷86-90一、139. 單詞拆分二、300. 最長遞增子序列三、152. 乘積最大子數(shù)組四、416. 分割等和子集五、32. 最長有效括號 一、139. 單詞拆分 題目鏈接:https://leetcode.cn/problems/word-…

力扣爆刷第100天之hot100五連刷86-90

文章目錄

      • 力扣爆刷第100天之hot100五連刷86-90
      • 一、139. 單詞拆分
      • 二、300. 最長遞增子序列
      • 三、152. 乘積最大子數(shù)組
      • 四、416. 分割等和子集
      • 五、32. 最長有效括號

一、139. 單詞拆分

題目鏈接:https://leetcode.cn/problems/word-break/description/?envType=study-plan-v2&envId=top-100-liked
思路:定義dp[i]表示字符串s[0, i]可以被拼接出,那么如果要推導(dǎo)出當(dāng)前s[0,i]可以被拼出,只需要,s[0, i-word.length]可以被拼出,且s[i-word.length] == w,即可推出,此即為遞推公式。

class Solution {public boolean wordBreak(String s, List<String> wordDict) {boolean[] dp = new boolean[s.length() + 1];dp[0] = true;for(int i = 1; i < dp.length; i++) {for(String word : wordDict) {if(i < word.length() || dp[i] || !dp[i-word.length()]) continue;dp[i] = isTrue(s, word, i);}}return dp[s.length()];}boolean isTrue(String s, String word, int index) {int i = index - word.length(), j = 0;while(i < index) {if(s.charAt(i) != word.charAt(j)) return false;i++;j++;}return true;}
}

二、300. 最長遞增子序列

題目鏈接:https://leetcode.cn/problems/longest-increasing-subsequence/description/?envType=study-plan-v2&envId=top-100-liked
思路:定義dp[i]表示區(qū)間[0, i]以nums[i]為結(jié)尾的最長遞增子序列的長度,那么如果nums[i] > nums[j],故 dp[i] = Math.max(dp[i], dp[j]+1);

class Solution {public int lengthOfLIS(int[] nums) {int[] dp = new int[nums.length];Arrays.fill(dp, 1);int max = 1;for(int i = 1; i < nums.length; i++) {for(int j = 0; j < i; j++) {if(nums[i] > nums[j]) {dp[i] = Math.max(dp[i], dp[j]+1);}}max = Math.max(max, dp[i]);}return max;}
}

三、152. 乘積最大子數(shù)組

題目鏈接:https://leetcode.cn/problems/maximum-product-subarray/description/?envType=study-plan-v2&envId=top-100-liked
思路:求最長乘積子數(shù)組,由于元素有負(fù)數(shù)存在,我們求每一個位置的最大值,該最大值的并不一定依賴的是前一個位置的最大值,也可能是前一個位置的最小值,所以要用兩個數(shù)組記錄分表記錄最大和最小值,在求最大值的時候,dp[i] = max(前一個位置的最大值 * 當(dāng)前元素 , 當(dāng)前元素, 前一個位置的最小值 * 當(dāng)前元素)。每一個dp[i]由三種裝填推出。

class Solution {public int maxProduct(int[] nums) {int[] dpMax = new int[nums.length];int[] dpMin = new int[nums.length];dpMax[0] = nums[0];dpMin[0] = nums[0];int max = nums[0];for(int i = 1; i < nums.length; i++) {dpMax[i] = Math.max(dpMax[i-1] * nums[i], Math.max(nums[i], dpMin[i-1] * nums[i]));dpMin[i] = Math.min(dpMin[i-1] * nums[i], Math.min(nums[i], dpMax[i-1] * nums[i]));            }for(int i = 1; i < nums.length; i++) {max = Math.max(max, dpMax[i]);}return max;}
}

四、416. 分割等和子集

題目鏈接:https://leetcode.cn/problems/partition-equal-subset-sum/description/?envType=study-plan-v2&envId=top-100-liked
思路:劃分等和子集是背包題的一種變體,只要總和不是奇數(shù)就可以劃分,然后把和的一般作為背包容量,然后物品在外,背包在內(nèi),背包逆序。

class Solution {public boolean canPartition(int[] nums) {int sum = 0;for(int v : nums) sum += v;if(sum % 2 == 1) return false;sum = sum / 2;int[] dp = new int[sum+1];for(int i = 0; i < nums.length; i++) {for(int j = sum; j >= nums[i]; j--) {dp[j] = Math.max(dp[j], dp[j-nums[i]] + nums[i]);}}return dp[sum] == sum;}
}

五、32. 最長有效括號

題目鏈接:https://leetcode.cn/problems/longest-valid-parentheses/description/?envType=study-plan-v2&envId=top-100-liked
思路:使用動態(tài)規(guī)劃做時間超了,可以使用棧做。

class Solution {public int longestValidParentheses(String s) {if(s.length() == 0) return 0;int[] dp = new int[s.length()];int max = 0;for(int i = 1; i < s.length(); i++) {for(int j = 0; j < i; j++) {if(isTrue(s, j, i)) {dp[i] = i-j+1;break;}}max = Math.max(max, dp[i]);}return max;}boolean isTrue(String s, int left, int right) {int num = 0;while(left <= right) {if(s.charAt(left++) == '(') {num++;}else{num--;}if(num < 0) return false;}return num == 0;}
}

使用棧:

class Solution {public int longestValidParentheses(String s) {int maxans = 0;int[] dp = new int[s.length()];for (int i = 1; i < s.length(); i++) {if (s.charAt(i) == ')') {if (s.charAt(i - 1) == '(') {dp[i] = (i >= 2 ? dp[i - 2] : 0) + 2;} else if (i - dp[i - 1] > 0 && s.charAt(i - dp[i - 1] - 1) == '(') {dp[i] = dp[i - 1] + ((i - dp[i - 1]) >= 2 ? dp[i - dp[i - 1] - 2] : 0) + 2;}maxans = Math.max(maxans, dp[i]);}}return maxans;}
}
http://aloenet.com.cn/news/45591.html

相關(guān)文章:

  • 古鎮(zhèn)中小企業(yè)網(wǎng)站建設(shè)如何找客戶資源
  • 建網(wǎng)站有域名和主機sem競價培訓(xùn)班
  • 1688網(wǎng)站一起做網(wǎng)店關(guān)鍵詞提取工具app
  • 自己做的網(wǎng)站被舉報違反廣告法網(wǎng)上軟文發(fā)稿平臺
  • dw做網(wǎng)站的所有流程seo競價排名
  • 網(wǎng)站建設(shè)介紹seo網(wǎng)絡(luò)營銷外包
  • 公司門戶網(wǎng)站建設(shè)策劃書朔州網(wǎng)站seo
  • 國家工程建設(shè)質(zhì)量獎網(wǎng)站做一個網(wǎng)站要多少錢
  • 源碼搭建網(wǎng)站流程seo整站優(yōu)化系統(tǒng)
  • 網(wǎng)站怎么添加背景如何在百度上做產(chǎn)品推廣
  • 在線下單網(wǎng)站怎么做合肥seo外包平臺
  • 中國十大小說網(wǎng)站排名網(wǎng)絡(luò)平臺營銷
  • 做視頻教學(xué)網(wǎng)站推廣費用一般多少錢
  • 網(wǎng)站怎么收費的域名狀態(tài)查詢工具
  • 旅游網(wǎng)站開發(fā)社會的背景韶關(guān)seo
  • 淘寶網(wǎng)站怎么做鏈接地址友情鏈接價格
  • dede 更新網(wǎng)站地圖中國十大知名網(wǎng)站
  • 圖片在線設(shè)計網(wǎng)站如何建立獨立網(wǎng)站
  • 淄博哪個網(wǎng)站做房屋出賃好網(wǎng)上怎么做推廣
  • 廈門本地企業(yè)網(wǎng)站建設(shè)看seo
  • 建設(shè)銀行內(nèi)部網(wǎng)站網(wǎng)絡(luò)營銷的seo是做什么的
  • 做網(wǎng)站是怎樣賺錢的網(wǎng)站快速排名互點軟件
  • 一般做網(wǎng)站圖是多大的像素廣點通廣告投放平臺
  • 站免費下載安裝seo優(yōu)化策略
  • 做鏡像網(wǎng)站搜索引擎優(yōu)化百度百科
  • 營銷型企業(yè)網(wǎng)站建設(shè)策劃關(guān)鍵詞排名怎么快速上去
  • 怎么建設(shè)阿里巴巴國際網(wǎng)站首頁企業(yè)培訓(xùn)機構(gòu)排名
  • 域名注冊和網(wǎng)站建設(shè)深圳關(guān)鍵詞優(yōu)化報價
  • 做網(wǎng)站和淘寶美工 最低電腦百度手機點擊排名工具
  • sql數(shù)據(jù)庫環(huán)境網(wǎng)站搭建教程百度總部公司地址在哪里