- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 Java 编写的小程序。我有一个用 0 和 1 填充的二维数组,我必须找到最大的菱形(如旋转 45 度的正方形)及其编号。
例子:
0 1 0 0 0 11 0 1 1 1 01 0 1 1 1 10 1 1 1 1 10 0 1 1 1 11 1 1 1 1 1
结果:
1 1 1 1 1 1 1 1 1 1 1 1 1
问题类似于this SO question .
如果您有任何想法,请在此处发布。
最佳答案
评论太长了。如果您无法解决问题,我稍后会发布我的解决方案,但这是我如何完成的(不到 15 行代码):我首先创建了第二个数组(稍微大一点 [n+2][ n+2]) 并且 n/2 次通过了:
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 1 1 1 0 0
0 1 0 1 2 2 1 0
0 0 1 2 2 2 1 0
0 0 0 1 2 2 1 0
0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 1 1 1 0 0
0 1 0 1 2 2 1 0
0 0 1 2 3 2 1 0
0 0 0 1 2 2 1 0
0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0
非零数 x 表示“我是大小为 x 的菱形的中心”(我表示大小与对角线长度的关系 [在您的情况下它们都相等]菱形)。您可以通过检查 {top,right,down,left} 是否都是大小为 k 的菱形的中心来确定是否有大小为 (k+1) 的菱形的中心。
首先创建一个更大的数组的优点是它确实简化了你的逻辑,但我可以通过修改原始数组或使用与输入大小相同的第二个数组来使用更复杂的逻辑来完成它(再一次,简单地在您的输入周围放置一个全零的安全“栅栏”要容易得多)。
如果您不使用栅栏“包围”您的数组,您将有很多额外的 if/else 检查:这很容易出错,导致更大的代码和更难看的代码。
关于java - 动态规划 : Find largest diamond (rhombus),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2607959/
我想使用与此按钮相同的边框: (参见:https://graphicdesign.stackexchange.com/)。是否可以使用 radius XML 属性(borderLeftTopRadiu
我目前正在从事一个项目,该项目的特点是带有单元格的网格。每个单元格都能够使用接受相对“x”和“y”坐标的函数查询其相邻单元格。这工作正常,但现在我想查询一组相邻的单元格,这些单元格组合后形成一个菱形,
我在这个问题上苦苦挣扎了好几天,但我无法理解其背后的逻辑。我有一个 10x10 网格,其中 x = 5 y = 5 位置有一个正方形,如 image 中所示。 ... 我知道如何在范围= 2的正方形周
我有一个用 Java 编写的小程序。我有一个用 0 和 1 填充的二维数组,我必须找到最大的菱形(如旋转 45 度的正方形)及其编号。 例子: 0 1 0 0 0 11 0 1 1 1 01 0 1
我是一名优秀的程序员,十分优秀!