Python 在字符串中查找编程问题

pythonserver side programmingprogramming更新于 2025/12/26 6:36:17

假设我们有一个小写字符串 s,我们必须检查是否有可能在 s 中选择一些字符子序列,使得 − 1. 字符的任意两个连续索引的差值相同 2. 字符组成字符串"programmingquestion"

因此,如果输入类似"pzrzozgzrzazmzmziznzgzqzuzezsztzizozn",则输出将为 True

要解决这个问题,我们将遵循以下步骤 −

  • p := 存在 p 的索引数组
  • r := 存在 r 的索引数组
  • 对于 p 中的每个 j,执行
    • 对于 r 中的每个 k,执行
      • 如果 k > j,则
        • 如果"programmingquestion"在 s 的子字符串中,从索引 j 到 s 的大小,跳过 k-j 个字符,然后
          • 返回 True
  • 返回 False

让我们看看下面的实现以便更好地理解 −

示例

class Solution:
   def solve(self, s):
      p = [i for i, c in enumerate(s) if c == "p"]
      r = [i for i, c in enumerate(s) if c == "r"]
      for j in p:
         for k in r:
            if k > j:
               if "programmingquestion" in s[j:len(s):k-j]:
                  return True
      return False
ob = Solution()
s = "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"
print(ob.solve(s))

输入

"pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"

输出

True

相关文章


有用资源