第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

給定數(shù)組中的開(kāi)始和結(jié)束坐標(biāo),標(biāo)記數(shù)組槽以繪制矩形

給定數(shù)組中的開(kāi)始和結(jié)束坐標(biāo),標(biāo)記數(shù)組槽以繪制矩形

PHP
慕工程0101907 2022-08-19 15:13:44
我有一個(gè)10x10的數(shù)組,我知道矩形的起點(diǎn)和終點(diǎn)在哪里。矩形可以是 1x3、2x2、3x2 等。給定開(kāi)始和結(jié)束坐標(biāo),我需要標(biāo)記矩形在 10x10 數(shù)組中的位置。示例一(正確):左上角節(jié)點(diǎn):[0, 1]右下節(jié)點(diǎn):[1,2]|--0--| |--x--| |--x--| |--0--||--0--| |--x--| |--x--| |--0--||--0--| |--0--| |--0--| |--0--||--0--| |--0--| |--0--| |--0--|示例二(不正確):左上角節(jié)點(diǎn):[1,3]右下節(jié)點(diǎn):[3,3]電流輸出:|--0--| |--0--| |--0--| |--0--||--0--| |--0--| |--0--| |--x--||--0--| |--0--| |--0--| |--0--||--0--| |--0--| |--0--| |--0--|所需輸出:|--0--| |--0--| |--0--| |--0--||--0--| |--0--| |--0--| |--x--||--0--| |--0--| |--0--| |--x--||--0--| |--0--| |--0--| |--x--|這是我嘗試過(guò)的:$width = $lowerRightNode[1] - $upperLeftNode[1] + 1;echo 'width: ' . $width .'<br/>';for($i=$upperLeftNode[0]; $i < $upperLeftNode[0] + $width; $i++) {    for($z=$upperLeftNode[1]; $z <= $lowerRightNode[1]; $z++) {        $this->_grid[$i][$z] = 'x';        echo $i . ' ' . $z .'<br/>';    }}
查看完整描述

2 回答

?
長(zhǎng)風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

所以這真的像一個(gè)充洪問(wèn)題。您有一個(gè)固定的 2D 格網(wǎng)作為數(shù)組,并且您希望根據(jù) X/Y 坐標(biāo)填充特定區(qū)域。我簡(jiǎn)化了下面的實(shí)現(xiàn),以演示如何完成此操作。


const GRID_WIDTH  = 10;

const GRID_HEIGHT = 10;


// Coordinates are described as [[y1, x1], [y2, x2]]

$coordinates = [[1,3], [3,3]];


// Create the grid

$grid = array_fill(0, GRID_WIDTH, array_fill(0, GRID_HEIGHT, '-'));


// Plot the coordinates on the grid

for ($y = 0; $y < GRID_WIDTH; $y++) { // plot Y

    for ($x = 0; $x < GRID_HEIGHT; $x++) { // plot X

        if ($y >= $coordinates[0][0] && $y <= $coordinates[0][1]) {

            if ($x >= $coordinates[1][0] && $x <= $coordinates[1][1]) {

                $grid[$y][$x] = 'X';

            }

        }

    }

}


// Print the grid

foreach ($grid as $x => $y) {

    foreach ($y as $plot) {

        echo " $plot ";

    }

    echo "\n";

}

輸出應(yīng)如下所示:


 -  -  -  -  -  -  -  -  -  - 

 -  -  -  X  -  -  -  -  -  - 

 -  -  -  X  -  -  -  -  -  - 

 -  -  -  X  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

在你的第一個(gè)例子中,它看起來(lái)像這樣:[0,1][1,2]


 -  X  X  -  -  -  -  -  -  - 

 -  X  X  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

 -  -  -  -  -  -  -  -  -  - 

這里的關(guān)鍵是確保當(dāng)我們掃描網(wǎng)格(從X到Y(jié))時(shí),X1,Y1,X2和Y2的坐標(biāo)在光標(biāo)的范圍內(nèi)。這允許我們一次繪制一個(gè)單元格,只要我們?cè)谶@些邊界內(nèi)(包括)。這是通過(guò)檢查 和 來(lái)完成的。由于計(jì)算坐標(biāo)的寬度是不夠的(這就是上面的實(shí)現(xiàn)正在做的事情)。因?yàn)樗粯?biāo)識(shí)高度邊界。if ($y >= $coordinates[0][0] && $y <= $coordinates[0][1])if ($x >= $coordinates[1][0] && $x <= $coordinates[1][1])


查看完整回答
反對(duì) 回復(fù) 2022-08-19
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用已有的代碼(盡管不需要計(jì)算)迭代要繪制的矩形:$width


$rects = array(array(array(1, 3), array(3, 3)),

              array(array(0, 1), array(1, 2))

              );

$grid = array_fill(0, 10, array_fill(0, 10, '0'));

foreach ($rects as $r) {

    list($upperLeftNode, $lowerRightNode) = $r;

    for($x = $upperLeftNode[0]; $x <= $lowerRightNode[0]; $x++) {

        for($y = $upperLeftNode[1]; $y <= $lowerRightNode[1]; $y++) {

            $grid[$x][$y] = 'x';

        }

    }

}

foreach ($grid as $row) {

    echo implode(' ', $row) . "\n";

}

輸出:


0 x x 0 0 0 0 0 0 0

0 x x x 0 0 0 0 0 0

0 0 0 x 0 0 0 0 0 0

0 0 0 x 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0


查看完整回答
反對(duì) 回復(fù) 2022-08-19
  • 2 回答
  • 0 關(guān)注
  • 126 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)