π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΏΠΈΡΠΎΠ½? ΠΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
def find_element(arr, target):
for row in arr:
for item in row:
if item == target:
return True
return False
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target_element = 5
if find_element(matrix, target_element):
print("ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½!")
else:
print("ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ find_element, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ target. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ True. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ False.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ 5 Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ matrix. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ "ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½!", Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ "ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½."
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² Python
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
1. ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ - ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ½ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
def linear_search_2d(arr, target):
for i in range(len(arr)):
for j in range(len(arr[i])):
if arr[i][j] == target:
return i, j
return -1, -1
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target = 5
row, column = linear_search_2d(arr, target)
if row != -1 and column != -1:
print(f"ΠΠ»Π΅ΠΌΠ΅Π½Ρ {target} Π½Π°ΠΉΠ΄Π΅Π½ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ({row}, {column})")
else:
print("ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ linear_search_2d
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr
ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ target
. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ (i, j), Π³Π΄Π΅ i - ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΡΠΎΠΊΠΈ, j - ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΠΎΠ»Π±ΡΠ°. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ (-1, -1).
2. ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ
ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ - ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
def binary_search_2d(arr, target):
rows = len(arr)
columns = len(arr[0])
low = 0
high = rows * columns - 1
while low <= high:
mid = (low + high) // 2
row = mid // columns
column = mid % columns
if arr[row][column] == target:
return row, column
elif arr[row][column] < target:
low = mid + 1
else:
high = mid - 1
return -1, -1
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target = 5
row, column = binary_search_2d(arr, target)
if row != -1 and column != -1:
print(f"ΠΠ»Π΅ΠΌΠ΅Π½Ρ {target} Π½Π°ΠΉΠ΄Π΅Π½ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ({row}, {column})")
else:
print("ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ binary_search_2d
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr
ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ target
. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ (i, j), Π° Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ (-1, -1).
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° NumPy, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ np.where()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ
Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ.
import numpy as np
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
target = 5
indexes = np.where(arr == target)
if len(indexes[0]) > 0:
row = indexes[0][0]
column = indexes[1][0]
print(f"ΠΠ»Π΅ΠΌΠ΅Π½Ρ {target} Π½Π°ΠΉΠ΄Π΅Π½ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ({row}, {column})")
else:
print("ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ NumPy ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ np.where()
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ arr == target
. ΠΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π°ΠΉΠ΄Π΅Π½Ρ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π²ΠΈΠ΄Π΅ (i, j), Π° Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ "ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½".
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ - Π΄Π»Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
ΠΠ°Π΄Π΅ΡΡΡ, Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅, ΡΡΠΎΠ±Ρ Π»Π΅Π³ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Python.