摘要:
31. 下一个排列 思路 首先说一下什么是字典序,把1 2 3当作a b c的话,abc有6种排列顺序。 abc acb bac bca cab cba 上图就是字典序,题目的要求狠简单: 找到下一个字典序,如果没有的话,则输出最小的序号。 首先明确一下,没有下一个序列的情况,那么就是大的全部在前面 阅读全文
摘要:
34. 在排序数组中查找元素的第一个和最后一个位置 思路 看到排序数组,基本上二分解法占一半,记得刚开始去字节面试的时候,面试官出了一题找出数组(先递增再递减)的峰值,也就是什么时候开始递减的。 答的是扫描,那样如果峰值很靠后的话,算法不是最优解,利用二分可以达到O(logN),虽然最终在面试官的引 阅读全文
摘要:
221. 最大正方形 动态规划 求的是最大面积,可以转换为求最大边长。 创建一个二维数组dp dp是以i, j坐标为右下角的正方形的最大边长。 状态转移方程式: matrix[i][j] == "1"的时候: f(i, j) = min(f(i-1, j), f(i, j-1), f(i-1, j- 阅读全文