阿里筆試題 求兩個子串行的最大連續子串行

2021-09-07 12:38:19 字數 730 閱讀 6856

給定乙個query和乙個text,均由小寫字母組成。要求在text中找出以相同的順序連續出如今query中的最長連續字母序列的長度。比如。query為 "acbac",text為"acaccbabb",那麼text中的"cba"為最長的連續出如今query中的字母序列,因此。返回結果應該為其長度3。請注意程式效率。

和字串匹配一樣(字串和p字串,相當於在t字串的每乙個字元都求乙個和p的最大連續子串行。**例如以下:

int  sublength(string t,string p)

}else

substring+=t[i+j];

}else

}} }

return res.length();

}

和求公共子串行同樣(僅僅只是子串行是連續的,我們用乙個二維矩陣matrix就能夠表示子串行的情況。t代表每一列的字元,p代表每一行的元素,假設p【i】=t【j】,則matrix【i】【j】=matrix【i-1】【j-1】+1。

最後輸出矩陣中最大的元素就可以,要是求最大連續子串行。依據最大元素的位置。沿著對角線向上回溯就可得到答案。**例如以下:

int  sublength1(string t,string p)

else

matrix[i][j]=1;

}} }

return max;

}

兩個子串行的最大點積

給你兩個陣列nums1和nums2。請你返回nums1和nums2中兩個長度相同的非空子串行的最大點積。陣列的非空子序列是通過刪除原陣列中某些元素 可能乙個也不刪除 後剩餘數字組成的序列,但不能改變量字間相對順序。比方說,2,3,5 是 1,2,3,4,5 的乙個子串行而 1,5,3 不是。示例 1...

筆試題 最大連續序列和

給定n個數,求子序列的最大和。這個子串行可以有字首和字尾 也可以為空 但是字首和字尾的每個數都是原來數的負數,求這個最大和。輸入為兩行,第一行為整數n 1 100 第二行為n個整數 32位int範圍內 輸出最大連續序列和。示例 6 3 5 2 6 8 3 輸出 23 思路 遍歷所有可能的序列,對每個...

求兩個子陣列最大的累加和

來自牛客網左程雲演算法第二堂課第一題 問題 給定乙個陣列,其中當然有很多的子陣列,在所有兩個子陣列的組合中,找到相加和最大的一組,要求兩個子陣列無重合的部分。最後返回累加和。要求 時間複雜度達到 o n 解法 我們很容易想到將整個陣列分成兩個部分,然後分別求這兩個部分子陣列的最大累加和。將結果累加起...