[英]How to loop thrrough a 2D array diagonally in java
我需要對角地通過兩種方式遍歷2D Java數組(前后)。 我一直在尋找可以幫助我完成此操作的代碼,但我一直找不到。 例如,如果我有
A B C D E
E F G H I
J K L M N
我需要一個可以循環此數組並找到所有可能對角線的代碼,即AFL,EK,J CHN,EHL,DGK等
我的第一個想法,未經測試:
int offsetX = ...;
int offsetY = ...;
Object[] matrix = ...;
for (int i = 0; i + Math.max(offsetX, offsetY) < Math.min(matrix.length, matrix[0].length); ++i)
{
Object o = matrix[offsetY + i][offsetX + i];
}
通常,在您的情況下,這兩個偏移量中只有一個可以為非零。 翻轉som標志並修改邊界檢查以創建其他對角線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.