SORU
3 EYLÜL 2008, ÇARŞAMBA


Nasıl iki boyutlu bir dizi döndürmek musunuz?

Raymond Chen's post, ilham 4x4 iki boyutlu bir dizi var, 90 derece dönen bir işlev yazmak demek. Raymond sahte kod çözümü bağlantılar, ama bazı gerçek şeyler görmek istiyorum.

[1][2][3][4]
[5][6][7][8]
[9][0][1][2]
[3][4][5][6]

Olur:

[3][9][5][1]
[4][0][6][2]
[5][1][7][3]
[6][2][8][4]

Güncelleme: Nick'in cevabı en basit, ama orada daha iyi n^2 yapmak için bir yol var mı? Eğer matris 10000x10000 olsaydı?

CEVAP
29 Aralık 2011, PERŞEMBE


(N^2) zaman ve O(1) algoritması O boşluk( olmadan herhangi bir dalavere yok geçici şeyler! )

90 Döndür:

  1. Devrik
  2. Her satır ters

-90 Döndür:

  1. Devrik
  2. Her sütun ters

180 döndürmek:

Yöntem 1: 90 iki kez Döndür

Yöntem 2Her satır ve her sütun ters ters

-180 döndürmek:

Yöntem 1: -90 iki kez Döndür

Yöntem 2: Her sütun ve her satır ters ters

Yöntem 3Aynı onlar gibi 180 ile kaplanmıştır

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006
  • olinerd

    olinerd

    23 AĞUSTOS 2007