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

  • Christian Atlas

    Christian At

    26 Mart 2009
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • ipsy

    ipsy

    1 EKİM 2012