2022 年。將一維數組轉換為二維數組
難度:簡單
主題:陣列、矩陣、模擬
給你一個0索引一維(1D)整數數組原始,以及兩個整數,m和n。您的任務是使用原始資料中的所有元素建立一個包含 m 行和 n 列的二維 (2D) 陣列。
原始索引從0到n - 1(包括)的元素應該形成構造的二維數組的第一行,索引n到2 * n - 1(包括 ) 應構成所構造的二維數組的第二行,依此類推。
傳回依照上述過程構造的 m x n 2D 數組,如果不可能則回傳為空的 2D 數組.
範例1:
範例2:
範例 3:
約束:
提示:
解:
我們需要遵循以下步驟:
檢查是否可以轉換:只有當1D 數組中的元素總數(original.length) 恰好等於時,才能從1D 數組轉換為2D 數組m * n,其中m 是行數,n 是列數。如果不滿足此條件,則傳回空數組。
建立 2D 數組:如果可以轉換,則初始化一個包含 m 行和 n 列的 2D 數組,並透過迭代 1D 數組並填充 2D 數組行來填充它按行。
讓我們用 PHP 實作這個解決方案:2022。將一維數組轉換為二維數組
<?php /** * @param Integer[] $original * @param Integer $m * @param Integer $n * @return Integer[][] */ function construct2DArray($original, $m, $n) { ... ... ... /** * go to ./solution.php */ } // Example usage: //Example 1 $original = array(1, 2, 3, 4); $m = 2; $n = 2; print_r(construct2DArray($original, $m, $n)); //Output: [[1,2],[3,4]] //Example 2 $original = array(1, 2, 3); $m = 1; $n = 3; print_r(construct2DArray($original, $m, $n)); //Output: [[1,2,3]] //Example 3 $original = array(1, 2); $m = 1; $n = 1; print_r(construct2DArray($original, $m, $n)); //Output: [] ?>
輸入驗證:
二維陣列構造:
對於提供的範例:
$original = array(1, 2, 3, 4); $m = 2; $n = 2; print_r(construct2DArray($original, $m, $n));
輸出將是:
Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) )
此方法可確保一維數組正確轉換為所需的二維數組,並透過檢查轉換是否可行來有效處理邊緣情況。
聯絡連結
如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
如果您想要更多類似的有用內容,請隨時關注我:
以上是將數組轉換為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!