ÎncepețiÎncepe gratuit

Accesarea subarray-urilor

Să lucrăm cu elemente din array-uri NumPy! Sarcina ta este să convertești un array bidimensional pătratic square de dimensiune size într-o listă creată urmând un tipar în spirală:

Traversing the matrix in spiral way

În loc să accesezi pur și simplu anumite felii, vei defini o soluție mai generală folosind o buclă for (soluția trebuie să funcționeze pentru toate array-urile bidimensionale pătratice de dimensiune impară).

Modulul numpy este deja importat ca np.

Vei avea nevoie de funcția reversed(), care inversează un Iterable.

Acest exercițiu face parte din cursul

Exersarea întrebărilor de interviu de programare în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Convertește fiecare parte marcată cu o săgeată roșie într-o listă.
  • Convertește fiecare parte marcată cu o săgeată verde într-o listă.
  • Convertește fiecare parte marcată cu o săgeată albastră într-o listă.
  • Convertește fiecare parte marcată cu o săgeată mov într-o listă.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

spiral = []

for i in range(0, size):
    # Convert each part marked by any red arrow to a list
    spiral += list(square[i, ____:____])
    # Convert each part marked by any green arrow to a list
    spiral += list(square[____:____, size-i-1])
    # Convert each part marked by any blue arrow to a list
    spiral += list(reversed(square[size-i-1, ____:____]))
    # Convert each part marked by any magenta arrow to a list
    spiral += list(reversed(square[____:size-i-1, ____]))
        
print(spiral)
Editează și rulează codul