输入参数就是一个0 1的二维数组,会告诉哪些坐标是1,然后每个1当做是一个土地,会有四个顶点x,y x, y+1 x+1, y+1 x+1, y 。顺序输出描边的坐标
输入参数就是一个0 1的二维数组,会告诉哪些坐标是1,然后每个1当做是一个土地,会有四个顶点x,y x, y+1 x+1, y+1 x+1, y 。顺序输出描边的坐标
2 回答5k 阅读✓ 已解决
1 回答733 阅读✓ 已解决
1 回答754 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
2 回答594 阅读
1 回答490 阅读
572 阅读
假设恰好有一个岛屿,岛屿中没有湖。
以上定义参考自岛屿的周长,你的图也是出自这里,不过问题不一样。
思路一
先遍历网格找到一个土地,从该土地左上角的点出发,沿着岛屿轮廓走一圈回到起点即可。
每一步,可以选择上下左右四个方向的网格线走,条件是这条网格线不是上一步走的网格线,且必须是轮廓线。
一条网格线是轮廓线,当且仅当网格线两侧一边是土地一边是水。
思路二
先遍历网格找到一个土地,从该土地左上角的点出发,顺时针沿着岛屿轮廓走一圈回到起点,保证土地始终在右侧。
每一步,可以选择左拐、直走或右拐,当左前方是土地时左拐,否则当右前方是土地时直走,否则右拐。
思路一的参考代码