gpt4 book ai didi

java - 将二维数组分成不相等的矩形和正方形

转载 作者:行者123 更新时间:2023-12-01 12:16:53 25 4
gpt4 key购买 nike

我需要将二维数组分成如下图所示的 block (我还不能发布图像)

如果主对角线=1。然后我检查下一个方 block 。如果我有矩形,我只检查点 (0,0) 和 (1,1)。数组可以分为4*4、3*3、2*2的正方形。我想应该是这样的

for (int i=start;i<start+len_of_square;i++)
for (int j=start;j<start+len_of_square;j++)
{
//do checking
}

但只有当数组可以分成相等的正方形时它才有效。有一些算法可以做到这一点吗?

最佳答案

我不太了解堆栈溢出的规则和规定。检查以下算法是否符合您的要求。使用以下方式,而不是循环遍历所有单元格并使用“if”逐一消除。它会快得多,因为循环将仅运行完整数组/除法时间的长度

for(int i=0;i<length of full array/division  && i<length of full array;i++)
{
for(int j=0;j<length of full array/division && j<length of full array;j++)
{
//do operation for array[divison*i][division*j] and array[divison*i+1][division*j+1]
}
}

它将检查除法是否为 4(按照图片),然后 (0,0),(1,1),(0,4),(1,5),(0,8),(1,9), (4,0)(5,1)...顺序

关于java - 将二维数组分成不相等的矩形和正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26944558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com