#青训营笔记创作活动# 问题描述
小F被神秘力量带入了一个魔幻世界,这里危机四伏。为了在异世界中生存,小F需要找到安全区。异世界可以被表示为一个大小为n x m的二维数组,每个格子的值代表该位置的危险程度。
小F的能力值为X,当某个格子的危险程度小于等于X时,这个格子是安全的。如果多个安全的格子相邻(上下左右连通),它们可以构成一个安全区。你需要帮助小F计算出一共有多少个安全区。
测试样例
样例1:
输入:n = 3, m = 3, X = 4, a = [[2, 3, 3], [3, 3, 3], [3, 3, 3]]
输出:1
样例2:
输入:n = 2, m = 2, X = 5, a = [[6, 6], [6, 4]]
输出:1
样例3:
输入:n = 3, m = 3, X = 3, a = [[1, 2, 2], [2, 3, 3], [3, 4, 5]]
输出:1
题解:
一个原二维数组,新建一个visited数组记录是否经过,直接全部遍历,遇到安全值小于能力值且没经过的点就进入while循环。while循环通过队列实现安全区域的搜寻,通过maxnum记录安全区域的个数。
#青训营笔记创作活动#
2月6日 打卡day16 今日学习 优秀后端开发好习惯 1、注释尽可能全面,写有意义的方法注释 2、项目拆分合理的目录结构 3、不在循环里远程调用、或者数据库操作,优先考虑批量进行。 4、封装方法形参 5. 封装通用模板 6. 封装复杂的逻辑判断条件 7. 保持优化性能的嗅觉 8. 可变参数的配置化处理 9. 会总结并使用工具类。 10. 控制方法函数复杂度 11. 在finally块中对资源进行释放 13.把日志打印好 14. 考虑系统、接口的兼容性 15. 代码采取措施避免运行时错误
2月6日 打卡day16 今日学习 优秀后端开发好习惯 1、注释尽可能全面,写有意义的方法注释 2、项目拆分合理的目录结构 3、不在循环里远程调用、或者数据库操作,优先考虑批量进行。 4、封装方法形参 5. 封装通用模板 6. 封装复杂的逻辑判断条件 7. 保持优化性能的嗅觉 8. 可变参数的配置化处理 9. 会总结并使用工具类。 10. 控制方法函数复杂度 11. 在finally块中对资源进行释放 13.把日志打印好 14. 考虑系统、接口的兼容性 15. 代码采取措施避免运行时错误
展开
评论
点赞