Leetcode # 2825. Make String a Subsequence Using Cyclic Increments

Problem

https://leetcode.com/problems/make-string-a-subsequence-using-cyclic-increments

Solution

使用try-except避免多次的p1out of index檢查

Time Complexity: O()
Space Complexity: O()
(The input and output generally do not count towards the space complexity.)

class Solution:
  def canMakeSubsequence(self, str1: str, str2: str) -> bool:
    p1 = 0
    try:
      for p2, c2 in enumerate(str2):
        pre_c2 = chr((ord(c2) - 97 - 1) % 26 + 97)
        while (c1 := str1[p1]) != c2 and c1 != pre_c2:
          p1 += 1
        p1 += 1
    except IndexError as e:
      return False
    return True

 

Last Updated on 2024/12/05 by A1go

目錄
Bitnami