Teknologian jakaminen

【LeetCode】 Elämänpeli

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


1. Otsikko

Baidu Encyclopedian mukaan Game of Life, jota kutsutaan nimellä Life, on brittiläisen matemaatikko John Horton Conwayn vuonna 1970 keksimä soluautomaatti.

Kun paneeli sisältää m × n ruudukkoa, jokaista ruudukkoa voidaan pitää soluna. Jokaisella solulla on alkutila: 1 elävälle solulle (elävä) tai 0 kuolleelle solulle (kuollut). Jokainen solu ja sen kahdeksan vierekkäistä solua (vaakasuunnassa, pystysuunnassa, diagonaalisesti) noudattavat seuraavia neljää selviytymislakia:

Jos elävien solujen lukumäärä elävää solua ympäröivässä kahdeksassa paikassa on pienempi kuin kaksi, kyseisessä paikassa oleva elävä solu kuolee;
Jos elävän solun ympärillä on kaksi tai kolme elävää solua kahdeksassa paikassa, elävä solu kyseisessä paikassa on edelleen elossa;
Jos elävän solun ympärillä on enemmän kuin kolme elävää solua kahdeksassa paikassa, kyseisessä paikassa oleva elävä solu kuolee;
Jos kuolleen solun ympärillä on täsmälleen kolme elävää solua, kuollut solu tuossa paikassa herätetään henkiin;
Seuraava tila muodostetaan soveltamalla yllä olevia sääntöjä samanaikaisesti jokaiseen nykytilan soluun, jossa solut syntyvät ja kuolevat samanaikaisesti. Näyttää mxn-ruudukkopaneelin nykyisen tilan ja palauttaa seuraavan tilan.

Esimerkki 1:
Lisää kuvan kuvaus tähän

Syöttö: board = [[0,1,0],[0,0,1],[1,1,1],[0,0,0]]
Tulos: [[0,0,0],[1,0,1],[0,1,1],[0,1,0]]
Esimerkki 2:
Lisää kuvan kuvaus tähän

Syöttö: board = [[1,1],[1,0]]
Lähtö: [[1,1],[1,1]]

vihje:

m == lauta.pituus
n == lauta[i].pituus
1