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

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

怎么做百度seo網(wǎng)站百度官方網(wǎng)站首頁(yè)

怎么做百度seo網(wǎng)站,百度官方網(wǎng)站首頁(yè),張家港楊舍網(wǎng)站制作,做企業(yè)網(wǎng)站哪里找一、子序列/子數(shù)組問(wèn)題 子序列:按原數(shù)組的順序排列,不一定是原數(shù)組中的相鄰元素組成的。即子序列可以是不連續(xù)的。 子數(shù)組:原數(shù)組中連續(xù)的幾個(gè)元素組成的數(shù)組。 1. 300【最長(zhǎng)遞增子序列】 題目: 給你一個(gè)整數(shù)數(shù)組 nums &#xff…

一、子序列/子數(shù)組問(wèn)題

子序列:按原數(shù)組的順序排列,不一定是原數(shù)組中的相鄰元素組成的。即子序列可以是不連續(xù)的。
子數(shù)組:原數(shù)組中連續(xù)的幾個(gè)元素組成的數(shù)組。

1. 300【最長(zhǎng)遞增子序列】

  • 題目:
    給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長(zhǎng)嚴(yán)格遞增子序列的長(zhǎng)度。
    子序列 是由數(shù)組派生而來(lái)的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子序列。
  • 代碼:
class Solution {public int lengthOfLIS(int[] nums) {//dp表示以數(shù)組中第i個(gè)元素為結(jié)尾的最長(zhǎng)嚴(yán)格遞增子序列的長(zhǎng)度//dp[i] = max(dp[j])+1,其中nums[j]是nums[i]左邊小于nums[i]的元素//dp[0] = 1int[] dp = new int [nums.length];dp[0] = 1;int max = 1;for(int i=1;i<nums.length;i++){int tmp = 0;for(int j=0;j<i;j++){if(nums[j]<nums[i]){tmp = Math.max(tmp,dp[j]);}}dp[i] = tmp + 1;max = Math.max(dp[i],max);}return max;}
}

2. 72【編輯距離】

  • 題目: 給你兩個(gè)單詞 word1 和 word2, 請(qǐng)返回將 word1 轉(zhuǎn)換成 word2 所使用的最少操作數(shù) 。
    你可以對(duì)一個(gè)單詞進(jìn)行如下三種操作:
    • 插入一個(gè)字符
    • 刪除一個(gè)字符
    • 替換一個(gè)字符
  • 代碼:
class Solution {public int minDistance(String word1, String word2) {//兩個(gè)字符串的操作,使用雙指針,i指向word1,j指向word2//dp[i][j]表示由左向右操作到word1的第i個(gè)位置,word2的第j個(gè)位置需要的最少操作數(shù)。//dp[i][j] = min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+1)//dp[0][j] = j,dp[i][0] = iint m = word1.length();int n = word2.length();if(n==0) return m;if(m==0) return n;int[][] dp = new int [m+1][n+1];for(int i=0;i<=m;i++){dp[i][0] = i;}for(int i=0;i<=n;i++){dp[0][i] = i;}for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){if(word1.charAt(i-1)==word2.charAt(j-1)){dp[i][j] = dp[i-1][j-1];}else{dp[i][j] = minDp(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])+1;}}}return dp[m][n];}public int minDp(int a,int b,int c){int tmp = Math.min(a,b);tmp = Math.min(tmp,c);return tmp;}
}

3. 53【最大子數(shù)組的和】

  • 題目: 給你一個(gè)整數(shù)數(shù)組 nums ,請(qǐng)你找出一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。
    子數(shù)組是數(shù)組中的一個(gè)連續(xù)部分。
  • 代碼:
class Solution {public int maxSubArray(int[] nums) {//dp[i]表示以nums[i]為結(jié)尾的最大子數(shù)組的和//dp[i] = max(dp[i-1]+nums[i],nums[i])//dp[0] = nums[0]int[] dp = new int [nums.length];dp[0] = nums[0];int max = nums[0];for(int i=1;i<nums.length;i++){dp[i] = Math.max(dp[i-1]+nums[i],nums[i]);max = Math.max(dp[i],max);}return max;}
}

4. 674【最長(zhǎng)連續(xù)自增序列】

  • 題目: 給定一個(gè)未經(jīng)排序的整數(shù)數(shù)組,找到最長(zhǎng)且 連續(xù)遞增的子序列,并返回該序列的長(zhǎng)度。
    連續(xù)遞增的子序列 可以由兩個(gè)下標(biāo) l 和 r(l < r)確定,如果對(duì)于每個(gè) l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是連續(xù)遞增子序列。
  • 代碼:
//方法一:雙指針
class Solution {public int findLengthOfLCIS(int[] nums) {//雙指針?lè)?#xff0c;固定左指針,移動(dòng)右指針,//直到右指針?biāo)冈夭粷M足條件,將左指針指向右指針int i=0;int max = 1;for(int j=1;j<nums.length;j++){if(nums[j-1]<nums[j]){max = Math.max(max,j-i+1);}else{i = j;}}return max;}
}
//方法二:動(dòng)態(tài)規(guī)劃
class Solution {public int findLengthOfLCIS(int[] nums) {//dp[i]表示以第i個(gè)元素結(jié)尾的最長(zhǎng)連續(xù)遞增子序列的長(zhǎng)度//dp[i]=1 or dp[i-1]+1//dp[0]=1int[] dp = new int[nums.length];dp[0] = 1;int max=1;for(int i=1;i<nums.length;i++){if(nums[i-1]<nums[i]){dp[i] = dp[i-1]+1;}else{dp[i] = 1;}max = Math.max(max,dp[i]);}return max;}
}

5. 718【最長(zhǎng)重復(fù)子數(shù)組】

  • 題目: 給兩個(gè)整數(shù)數(shù)組 nums1 和 nums2 ,返回 兩個(gè)數(shù)組中 公共的 、長(zhǎng)度最長(zhǎng)的子數(shù)組的長(zhǎng)度。
  • 代碼:
class Solution {public int findLength(int[] nums1, int[] nums2) {//dp[i][j]表示以nums1[i],nums2[j]結(jié)尾的最長(zhǎng)的公共子數(shù)組長(zhǎng)度//dp[i][j] = dp[i-1][j-1]+1 (nums1[i]==nums2[j])//dp[0][0] = 0(nums1[i-1]!=nums2[j-1]) or 1(nums1[i-1]==nums2[j-1])int n = nums1.length;int m = nums2.length;int[][] dp = new int[n][m];int max=0;for(int i=0;i<n;i++){if(nums1[i]!=nums2[0]){dp[i][0] = 0;}else{dp[i][0] = 1;}max = Math.max(dp[i][0],max);}for(int i=0;i<m;i++){if(nums1[0]!=nums2[i]){dp[0][i] = 0;}else{dp[0][i] = 1;}max = Math.max(dp[0][i],max);}for(int i=1;i<n;i++){for(int j=1;j<m;j++){if(nums1[i] == nums2[j]){dp[i][j] = dp[i-1][j-1]+1;}else{dp[i][j] = 0;}max = Math.max(dp[i][j],max);}}return max;}
}

6. 1143【最長(zhǎng)公共子序列】

  • 題目: 給定兩個(gè)字符串 text1 和 text2,返回這兩個(gè)字符串的最長(zhǎng) 公共子序列 的長(zhǎng)度。如果不存在 公共子序列 ,返回 0 。
    一個(gè)字符串的 子序列 是指這樣一個(gè)新的字符串:它是由原字符串在不改變字符的相對(duì)順序的情況下刪除某些字符(也可以不刪除任何字符)后組成的新字符串。
    例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。
    兩個(gè)字符串的 公共子序列 是這兩個(gè)字符串所共同擁有的子序列。
  • 代碼:
class Solution {public int longestCommonSubsequence(String text1, String text2) {//dp[i][j]表示以text1[i],text2[j]為結(jié)尾的最長(zhǎng)公共子序列長(zhǎng)度//dp[i][j] = dp[i-1][j-1]+1(text1[i]==text2[j]) or//dp[i][j] = max(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])//dp[i][0] = 0(text1[0]!=text2[0]) or 1(text1[0]==text2[0])//dp[0][i] = 0(text1[0]!=text2[0]) or 1(text1[0]==text2[0])int n = text1.length();int m = text2.length();int[][] dp = new int[n][m];boolean flag = false;for(int i=0;i<n;i++){if((text1.charAt(i) == text2.charAt(0))||flag==true){dp[i][0] = 1;flag = true;}else {dp[i][0] = 0;}}int max=0;if(flag){max = 1;}flag = false;for(int i=0;i<m;i++){if((text1.charAt(0)==text2.charAt(i))||flag==true){dp[0][i] = 1;flag = true;}else{dp[0][i] = 0;}   }for(int i=1;i<n;i++){for(int j=1;j<m;j++){if(text1.charAt(i) == text2.charAt(j)){dp[i][j] = dp[i-1][j-1]+1;}else{dp[i][j] = maxNum(dp[i-1][j],dp[i][j-1],dp[i-1][j-1]);}max = Math.max(max,dp[i][j]);}}return max;}public int maxNum(int a,int b,int c){int tmp = Math.max(a,b);return Math.max(tmp,c);}
}

7. 647【回文子串】

  • 題目: 給你一個(gè)字符串 s ,請(qǐng)你統(tǒng)計(jì)并返回這個(gè)字符串中 回文子串 的數(shù)目。回文字符串 是正著讀和倒過(guò)來(lái)讀一樣的字符串。子字符串 是字符串中的由連續(xù)字符組成的一個(gè)序列。具有不同開(kāi)始位置或結(jié)束位置的子串,即使是由相同的字符組成,也會(huì)被視作不同的子串。
  • 代碼:
class Solution {public int countSubstrings(String s) {//dp[i][j]表示在substring(i,j+1)是否是回文串//dp[i][j] = true(s[i]==s[j]) or false(s[i]!=s[j])//因?yàn)閕由i+1決定,j由j-1決定,所以需要從左下角開(kāi)始遍歷//dp[][0]=false or true,dp[n-1][]=false or trueint n = s.length();boolean[][] dp = new boolean[n][n];int ans = 0;for(int i=n-1;i>=0;i--){for(int j=i;j<n;j++){if(s.charAt(i)==s.charAt(j)){if(j-i<=1){dp[i][j] = true;ans++;}else if(dp[i+1][j-1]){dp[i][j] = true;ans++;}}}}return ans;}
}

8. 5【最長(zhǎng)回文子串】

  • 題目: 給你一個(gè)字符串 s,找到 s 中最長(zhǎng)的回文子串。
    如果字符串的反序與原始字符串相同,則該字符串稱(chēng)為回文字符串。
  • 代碼:
class Solution {public String longestPalindrome(String s) {//dp[i][j]表示substring(i,j+1)是否是回文串//dp[i][j] = true(s[i]==s[j]) or false(s[i]!=s[j])//dp[i][j] = true(s[i]==s[j] and j-i<=1 or dp[i+1][j-1])int n = s.length();boolean[][] dp = new boolean[n][n];int maxLen = 0;int index = 0;for(int i=n-1;i>=0;i--){for(int j=i;j<n;j++){if(s.charAt(i) == s.charAt(j)){if(j-i<=1){dp[i][j] = true;}else if(dp[i+1][j-1]){dp[i][j] = true;}if(dp[i][j] && (maxLen < j-i+1)){maxLen = j-i+1;index = i;}}}}return s.substring(index,index+maxLen);}
}
http://m.aloenet.com.cn/news/34309.html

相關(guān)文章:

  • 企業(yè)綜合查詢(xún)網(wǎng)站網(wǎng)站制作出名的公司
  • wordpress通知搜索引擎收錄seo是誰(shuí)
  • 室內(nèi)設(shè)計(jì)師做單網(wǎng)站無(wú)線網(wǎng)絡(luò)優(yōu)化是做什么的
  • 以橙色為主的網(wǎng)站網(wǎng)頁(yè)一鍵生成app軟件
  • 蘭州網(wǎng)絡(luò)推廣效果關(guān)于seo的行業(yè)崗位有哪些
  • wordpress contactusseo文章
  • 新手php網(wǎng)站建設(shè)微博上如何做網(wǎng)站推廣
  • 網(wǎng)站建設(shè)設(shè)計(jì)制作方案與價(jià)格seo資訊
  • 網(wǎng)站建設(shè)活動(dòng)計(jì)劃seo軟件排行榜前十名
  • 網(wǎng)站備案 網(wǎng)址營(yíng)銷(xiāo)助手
  • 冠縣做網(wǎng)站推廣3d建模培訓(xùn)學(xué)校哪家好
  • 企業(yè)網(wǎng)站建設(shè)合同書(shū)標(biāo)準(zhǔn)版湖南疫情最新情況
  • 計(jì)算機(jī)科學(xué)專(zhuān)業(yè)就業(yè)方向石家莊seo報(bào)價(jià)
  • 網(wǎng)站備案是 備案空間嗎考試培訓(xùn)
  • 怎樣做自己的銷(xiāo)售網(wǎng)站6草根seo視頻大全網(wǎng)站
  • 機(jī)械設(shè)備網(wǎng)優(yōu)化內(nèi)容
  • 網(wǎng)站建設(shè)方案及報(bào)價(jià)單seo外包優(yōu)化網(wǎng)站
  • 服務(wù)器怎么發(fā)布網(wǎng)站國(guó)際新聞最新消息十條
  • php動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)實(shí)例教程第2版域名查詢(xún)138ip
  • 怎樣做電商網(wǎng)站社群營(yíng)銷(xiāo)案例
  • 法人變更在哪個(gè)網(wǎng)站做公示重慶森林為什么不能看
  • 知名的網(wǎng)站制作武漢網(wǎng)絡(luò)推廣優(yōu)化
  • bazien wordpress旅游企業(yè)seo官網(wǎng)分析報(bào)告
  • php商城網(wǎng)站建設(shè)多少錢(qián)百度推廣營(yíng)銷(xiāo)怎么做
  • 織夢(mèng)整形醫(yī)院網(wǎng)站開(kāi)發(fā)江門(mén)網(wǎng)站優(yōu)化公司
  • 駕校網(wǎng)站建設(shè)關(guān)鍵詞北京網(wǎng)站優(yōu)化哪家好
  • java做網(wǎng)站與php做網(wǎng)站鏈接提交
  • 開(kāi)個(gè)網(wǎng)站做上海關(guān)鍵詞優(yōu)化推薦
  • 知名網(wǎng)站建設(shè)查排名官網(wǎng)
  • 延吉網(wǎng)站優(yōu)化網(wǎng)絡(luò)營(yíng)銷(xiāo)的策略包括