一直没看出来为什么报错啊。感觉rear没有越界啊。好奇怪哦!看了一下午了,蒙了
2条回答 默认 最新
- 小个子码农 2021-08-30 21:32关注
找到错误了 44行是赋值符号,写成等于了。。。
正确代码如下:// // 广度优先 BFS const int dx[4] = {1, 0, 0,-1}; const int dy[4] = {0, 1,-1, 0}; int maxAreaOfIsland(int** grid, int gridSize, int* gridColSize){ int max = 0, count = 0; int row = gridSize; int col = gridColSize[0]; int que[row * col][2], rear, front; for(int i = 0; i < row; i++){ for(int j = 0; j < col; j++){ if(grid[i][j] == 0) continue; rear = 0, front = 0; que[rear][0] = i; que[rear++][1] = j; grid[i][j] = 0; count = 0; while(front < rear){ int x = que[front][0], y = que[front++][1]; count++; for(int k = 0; k < 4; k++){ int mx = x + dx[k], my = y + dy[k]; if(mx >= 0 && mx < row && my >= 0 && my < col && grid[mx][my] == 1){ grid[mx][my] = 0; que[rear][0] = mx; que[rear++][1] = my; } } } max = fmax(max,count); } } return max; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料