金科网站建设,前端开发工程师是干什么的,设计公司网站,网站开发当前城市定位功能根据并查集练习 —岛屿数量的问题再次扩展#xff1a; 原题是给定一个二维数组matrix#xff08;char[][]#xff09;#xff0c;里面的值不是1就是0#xff0c;上、下、左、右相邻的1认为是一片岛。返回matrix中岛的数量。 扩展为#xff1a;如果是中国的地图#xff0…根据并查集练习 —岛屿数量的问题再次扩展 原题是给定一个二维数组matrixchar[][]里面的值不是1就是0上、下、左、右相邻的1认为是一片岛。返回matrix中岛的数量。 扩展为如果是中国的地图1表示沙砾0表示水。这种情况下matrix数组会非常非常大怎么采用分治的思想来求土地岛屿的数量。
总的来说是进行拆分分别求出每一块的土地数量后再次进行合并。比如说二维数组如图所示 它是一个岛但是太大了如何进行拆分以及整合。 可以在中间任意位置进行切割此时左右两边互相不知道信息分别拆分左侧可拆分出来A,B两个岛屿右侧可拆分出来C,D,E三个岛屿拆分的同时收集边界信息看那些岛屿根据图中颜色划分属于哪个边界。A,B,C,D,E共5个样本而后根据边界找parent。如果不相等边界union。