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

  • kruno j

    kruno j

    6 Mayıs 2007
  • Showtime

    Showtime

    21 HAZİRAN 2006
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008