檢查Python陣列是否可以分成兩個子陣列,使得它們的絕對差為K
假設我們得到一個包含整數的陣列 "input_list"。問題是檢查該陣列是否可以分成兩半,這兩半的和的差等於數字n。數字n將預先給出。
因此,如果輸入類似於 input_list= [9,2,5,6],n = 0,則輸出將為“可能”。
為了解決這個問題,我們將遵循以下步驟:
- list_total := input_list 值的總和
- 如果 (list_total - n) mod 2 等於 1,則
- 返回 "不可能"
- val := (list_total - n) / 2
- temp_sum := 0;
- 對於 i 從 0 到 input_list 的大小,執行
- temp_sum := temp_sum + input_list[i]
- 如果 temp_sum 等於 val,則
- 返回 "可能"
- 返回 "不可能"
讓我們看看下面的實現來更好地理解:
示例
def solve(input_list,n): list_total = sum(input_list) if (list_total - n) % 2 == 1: return "Not Possible" val = (list_total - n) / 2 temp_sum = 0; for i in range (0,len(input_list)): temp_sum += input_list[i] if (temp_sum == val): return "Possible" return "Not Possible" input_list= [9,2,5,6] n = 0 print(solve(input_list, n))
輸入
[9,2,5,6], 0
輸出
Possible
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP