在 Python 中检查数组中每个大小为 k 的段中是否存在某个键
pythonserver side programmingprogramming更新于 2025/10/17 6:36:17
假设我们有一个包含 N 个元素的数组 A,我们有另一个值 p 和一个大小为 k 的段,我们必须检查键 p 是否存在于 A 中每个大小为 k 的段中。
因此,如果输入为 A = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4],p = 4 且 k = 3,则输出将为 True
为了解决这个问题,我们将遵循以下步骤 −
- i := 0
- 当 i < n 非零时,执行
- j := 0
- 当 j < k,执行
- 如果 arr[j + i] 与 p 相同,则
- break
- j := j + 1
- 如果 arr[j + i] 与 p 相同,则
- 如果 j 与 k 相同,则
- 返回 False
- i := i + k
- 如果 i 与 n 相同,则
- 返回 True
- j := i - k
- 当 j < n,执行
- 如果 arr[j] 与 p 相同,则
- break
- j := j + 1
- 如果 arr[j] 与 p 相同,则
- 如果 j 与 n 相同,则
- 返回 False
- 返回 True
示例
让我们看看以下实现以便更好地理解 −
def key_in_segment_k(arr, p, k, n) : i = 0 while i < n : j = 0 while j < k : if arr[j + i] == p : break j += 1 if j == k : return False i = i + k if i == n : return True j = i - k while j < n : if arr[j] == p : break j += 1 if j == n : return False return True arr = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4] p, k = 4, 3 n = len(arr) print(key_in_segment_k(arr, p, k, n))
输入
[4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4]
输出
True
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

