檢查Python陣列中大小為k的每個片段中是否存在鍵
假設我們有一個包含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相同,則:
- 跳出迴圈
- j := j + 1
- 如果arr[j + i]與p相同,則:
- 如果j與k相同,則:
- 返回False
- i := i + k
- 如果i與n相同,則:
- 返回True
- j := i - k
- 當j < n時,執行:
- 如果arr[j]與p相同,則:
- 跳出迴圈
- 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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP