Java 演算法題筆記(二,二維陣列)

2021-09-12 11:07:03 字數 985 閱讀 5244

力扣刷到的一題,做一下筆記。

思路先找出格仔裡所有腐爛的橘子,然後這些橘子每傳染一次,記深度+1 ,直到不能再傳染了為止,再去判斷這些橘子裡,是否還有好橘子,如果有則為不能完全傳染,返回-1 ,如果沒有則為能全部傳完,那就返回深度值。

// 原來,dr,dc 是控制上下左右移動的,這裡寫的是上,左,下,右

public static int orangesrotting(int grid); // 行,控制豎著移動

int dc = new int;

int r = grid.length,c = grid[0].length;

queuequeue = new arraydeque<>();

mapdepth = new hashmap<>();

for (int r=0; r通過這個題可以知道二位陣列的移動可以通過橫縱座標的加一或減一實現,比較有規律的情況,可以通過定義陣列來算實現。

輸入:[[ 1, 2, 3 ],

[ 4, 5, 6 ],

[ 7, 8, 9 ]

]輸出: [1,2,3,6,9,8,7,4,5]

public listspiralorder(int matrix) ;

int dc = ;

// 0 ,1 行不變右移(列加一)

// 1 ,0 列不變下移(行加一)

// 0 ,-1 行不變左移(列減一)

// -1 ,0 列不變上移(行減一)

// 這樣的兩個陣列來到達順時針移動

int r = 0, c = 0, di = 0;

for (int i = 0; i < r * c; i++) else

}return ans;

}

面試 C C 語法(二) 二維陣列

int mat 5 mat 0 第一行 mat 0 0 第一行第一列,1 mat 0 1 第一行第二列,2 mat 1 第二行 mat 1 0 第二行第一列,2 mat 1 1 第二行第二列,4int m sizeof mat sizeof mat 0 行數 int n sizeof mat 0 s...

java陣列演算法題

1.給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。輸入 0,0,1,1,1,2,2,3,3,4 函式應該返回新的長度 5,並且原陣列 nums 的前五個元素被修...

Java 演算法題筆記(五)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1....