摘要: 典型dfs题,按照框架写。由于之前刚做了200和694,dfs写的很顺手。不同于前两道,dfs需要返回布尔值,因此代码上有些许差异,但总体结构是一样的。 递归终止条件都写在了最前面。 阅读全文
posted @ 2018-05-01 22:39 約束の空 阅读(119) 评论(0) 推荐(0)
摘要: 典型的搜索问题。694是200的拓展,多了怎么保存岛屿的特征的问题。两道题既可以用DFS做,也可以用BFS做。 解题中用到了 pair<int, int> 和 make_pair(i, j) 来记录坐标,相较于自己创建一个结构体,更加方便。auto关键字,用于申明类型,类型会自动推断,如果类型比较复 阅读全文
posted @ 2018-05-01 20:10 約束の空 阅读(181) 评论(0) 推荐(0)
摘要: 深搜和回溯本质都是递归,递归写起来不难,总结一下递归的框架方便写出优美的代码。 回溯法的基本思想: 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解 阅读全文
posted @ 2018-05-01 14:49 約束の空 阅读(378) 评论(0) 推荐(0)
摘要: Given an integer n, return the number of trailing zeroes in n!. 思路: 阶乘末尾有多少零,取决于结果中有多少个10。而又多少个10又取决于结果中有多少个5(2的数量是远大于5的,因此数5的数量即可)。 数5的个数直接n/5即可,但是要注 阅读全文
posted @ 2018-05-01 00:21 約束の空 阅读(99) 评论(0) 推荐(0)