Java教程

20210826每日总结

本文主要是介绍20210826每日总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

20210826每日总结

  1. BFS 应用:二叉树层序遍历、无权图最短路径问题
  2. LC 200岛屿数量:遍历每一个点,是岛屿就从此开始进行BFS(建队列-放坐标-出队-判断-标记-邻居入队)。
  3. LC463岛屿周长:遍历每一个点,是岛屿就从此开始DFS(遇到水域或边界就返回1,遇到标记返回0,遇到陆地就标记一下继续深搜,返回四周位置深搜的加和)
  4. LC695岛屿最大面积:遍历每一个点,是岛屿就开始BFS(清空队列过程中累加面积,返回群岛面积),获得最大面积
  5. LC1091二进制矩阵最短路径:起点终点固定,无需遍历每个点,直接BFS,起始点路径长度设为1,求最短路径即BFS的深度(遍历了几层),在八个方向上取点-判断-入队-队列清空一次深度+1,返回深度即可。
  6. LC102二叉树锯齿形层状遍历:设一个布尔变量-每层遍历结束反转一次状态,每遍历完一层在True时reverse这一层再加入结果列表
  7. LC417太平洋大西洋水流问题:自己想的方法是遍历每一个点进行BFS,从四个方向判断大小并入队,设两个布尔值判断能否达到边界,一旦两个布尔皆为True就返回。测试用例中有个超大矩阵超时了,优化方法是从边界逆流而上。。有空再仔细看看。
  8. 本周基本按照计划进行,明日计划:动态规划其余题型复习,贪心算法复习。
这篇关于20210826每日总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!