1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      如何用leetcode使字符串相等

      本篇內(nèi)容介紹了“如何用leetcode使字符串相等”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

      創(chuàng)新互聯(lián)建站客戶idc服務(wù)中心,提供遂寧服務(wù)器托管、成都服務(wù)器、成都主機托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務(wù),資深網(wǎng)絡(luò)工程師在機房提供7*24小時標準級技術(shù)保障。

      一、題目內(nèi)容

      給你兩個長度相同的字符串,s 和 t。

      將 s 中的第 i 個字符變到 t 中的第 i 個字符需要 |s[i] - t[i]| 的開銷(開銷可能為 0),也就是兩個字符的 ASCII 碼值的差的絕對值。

      用于變更字符串的最大預算是 maxCost。在轉(zhuǎn)化字符串時,總開銷應(yīng)當小于等于該預算,這也意味著字符串的轉(zhuǎn)化可能是不完全的。

      如果你可以將 s 的子字符串轉(zhuǎn)化為它在 t 中對應(yīng)的子字符串,則返回可以轉(zhuǎn)化的最大長度。

      如果 s 中沒有子字符串可以轉(zhuǎn)化成 t 中對應(yīng)的子字符串,則返回 0。

      示例 1:

      輸入:s = "abcd", t = "bcdf", cost = 3
      輸出:3
      解釋:s 中的 "abc" 可以變?yōu)?"bcd"。開銷為 3,所以最大長度為 3。

      示例 2:

      輸入:s = "abcd", t = "cdef", cost = 3
      輸出:1
      解釋:s 中的任一字符要想變成 t 中對應(yīng)的字符,其開銷都是 2。因此,最大長度為 1。

      示例 3:

      輸入:s = "abcd", t = "acde", cost = 0
      輸出:1
      解釋:你無法作出任何改動,所以最大長度為 1。

       

      提示:

      1 <= s.length, t.length <= 10^5
      0 <= maxCost <= 10^6
      s 和 t 都只含小寫英文字母。

      二、解題思路

      滑動窗口,先計算各個對應(yīng)位置的字母ASCII碼的差值,然后從左到右累計開銷,如果大于最大開銷,則窗口左端右移,并減去原始左端的開銷,同時更新最大長度。最后再次更新最大長度即可。

      三、代碼

      class Solution:
          def equalSubstring(self, s: str, t: str, maxCost: int) -> int:
              n = len(s)
              diff = []
              for right in range(n):
                  diff.append(abs(ord(t[right]) - ord(s[right])))
      
              left, right = 0, 0
              sums = 0
              max_length = 0
              for right in range(n):
                  sums += diff[right]
      
                  while sums > maxCost:
                      max_length = max(max_length, right - left)
                      sums -= diff[left]
                      left += 1
              max_length = max(max_length, right - left + 1)
              return max_length
      
      
      if __name__ == '__main__':
          ss = Solution()
          # s = "abcd"
          # t = "cdef"
          # cost = 3
          # s = "abcd"
          # t = "bcdf"
          # cost = 3
          s = "abcd"
          t = "bcdf"
          cost = 3
          ans = ss.equalSubstring(s, t, cost)
          print(ans)

      “如何用leetcode使字符串相等”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


      網(wǎng)頁題目:如何用leetcode使字符串相等
      URL鏈接:http://www.ef60e0e.cn/article/pshcjp.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        进贤县| 肃宁县| 七台河市| 仲巴县| 元朗区| 灌阳县| 寻甸| 长岛县| 榕江县| 汉沽区| 铜鼓县| 普宁市| 石景山区| 峨眉山市| 偃师市| 潼关县| 余姚市| 方山县| 蓝山县| 景德镇市| 凤翔县| 南宫市| 营山县| 广宗县| 彰武县| 忻城县| 林州市| 大竹县| 澄城县| 云龙县| 娱乐| 天等县| 大埔区| 轮台县| 台东市| 阿克苏市| 苏尼特左旗| 丹凤县| 三都| 横峰县| 平凉市|