这两天刷了两道题,如上所示。
84题做了半天,最后看了答案,学习了单调栈这一数据结构,直呼巧妙。
然后,充满了信心去做接下来这道题,也是hard。
读了题目,懂了,但是不会做。。
思考了半天,还是没思路,就去看解答了。
好家伙,原来还是84题的思路。
但是人家把这个问题进行了一系列的抽象后,才可以用84题的思路来做。
具体抽象是什么呢?
1.就是如果要求面积的话,那么需要知道连续的1的个数,所以连续的1的个数是一个很关键的信息,这个我们可以抽象出一个函数。
2.假如我们有了第1步的思路了,那么下面我们还需要什么呢?我们现在已经拿到了第1步的重要信息,因为这个是二维数组,看起来挺复杂的,那么我们把二维数组切分一下,以行或者列来对数组进行拆分,这个时候,我们知道每一行或者每一列的每个位置上连续的1的个数,那么我们就可以那这个数字来按照第84题的解法来解答了。
总结:
拿到题目后,我觉得对问题抽象的能力比直接寻找解答方法更重要,关于这个能力我还有待加强!