π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° Python? π
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΏΠΈΡΠΎΠ½
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
def find_pair(arr, target):
for i in range(len(arr)):
for j in range(i + 1, len(arr)):
if arr[i] + arr[j] == target:
return (arr[i], arr[j])
return None
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
array = [1, 2, 3, 4, 5]
target_sum = 7
pair = find_pair(array, target_sum)
if pair is not None:
print(f"ΠΠ°ΠΉΠ΄Π΅Π½Π° ΠΏΠ°ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: {pair[0]} ΠΈ {pair[1]}")
else:
print("ΠΠ°ΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ find_pair
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² arr
ΠΈ ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΠΌΠΌΡ target
. ΠΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΠΏΠ°ΡΡ, Π΄Π°ΡΡΡΡ ΡΡΠΌΠΌΡ, ΡΠ°Π²Π½ΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΌΠΌΠ΅. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ None
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π»ΡΠ±ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΌΠΌΠ° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π²Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Python ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΠ°ΡΠ° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
def find_pair(arr, target):
n = len(arr)
for i in range(n):
for j in range(i + 1, n):
if arr[i] + arr[j] == target:
return (arr[i], arr[j])
return None
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
array = [1, 2, 3, 4, 5]
target_sum = 7
result = find_pair(array, target_sum)
print(f"ΠΠ°ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΌΠΌΠΎΠΉ {target_sum}: {result}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π²Π° ΡΠΈΠΊΠ»Π° for
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΡΠ»ΠΈ ΡΡΠΌΠΌΠ° ΡΠ΅ΠΊΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π²Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΌΠΌΠ΅, ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΡΡ ΠΏΠ°ΡΡ. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ None
.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΡΡΠ³ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΠΈΡΠΊΠ°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ (ΡΠ°Π·Π½ΠΎΡΡΡ ΡΡΠΌΠΌΡ ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°) Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅.
def find_pair(arr, target):
dictionary = {}
for num in arr:
complement = target - num
if complement in dictionary:
return (complement, num)
dictionary[num] = True
return None
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
array = [1, 2, 3, 4, 5]
target_sum = 7
result = find_pair(array, target_sum)
print(f"ΠΠ°ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΌΠΌΠΎΠΉ {target_sum}: {result}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΡ
ΠΎΠ΄Ρ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π΅ΡΡΡ Π»ΠΈ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΏΠ°ΡΡ. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ None
.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° Π΄ΡΡΠ³ΠΎΠΉ Π½Π° Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ. ΠΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΌΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
def find_pair(arr, target):
left = 0
right = len(arr) - 1
while left < right:
current_sum = arr[left] + arr[right]
if current_sum == target:
return (arr[left], arr[right])
elif current_sum < target:
left += 1
else:
right -= 1
return None
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
array = [1, 2, 3, 4, 5]
target_sum = 7
result = find_pair(array, target_sum)
print(f"ΠΠ°ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΌΠΌΠΎΠΉ {target_sum}: {result}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ: left
Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ right
Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΌΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠΌΠΌΠΎΠΉ. ΠΡΠ»ΠΈ ΡΡΠΌΠΌΠ° ΡΠ°Π²Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΏΠ°ΡΡ. ΠΡΠ»ΠΈ ΡΡΠΌΠΌΠ° ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π»Π΅Π²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²ΠΏΡΠ°Π²ΠΎ. ΠΡΠ»ΠΈ ΡΡΠΌΠΌΠ° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π»Π΅Π²ΠΎ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΏΠ°ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΡΡΡΡ.
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Python. ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ.