剑指offer
Xavier学长
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer
一、二维数组的查找 思路1、从二维数组的右上角的元素开始判断,因为此元素是它所在行的最大数,是它所在的列的最小数。如果它等于要查找的数字,则查找过程结束。如果它大于要查找的数字,则可以排除它所在的列。如果它小于要查找的数字,则可排除它所在的行。这样如果要查找的数字不在数组的右上角,则每次判断都可以排除一行或一列以缩小查找范围,直到找到要查找的数字,或者查找范围为空。 # -*- codi...原创 2019-05-21 22:17:09 · 156 阅读 · 0 评论 -
剑指offer1
参考:https://blog.youkuaiyun.com/fuxuemingzhu/article/details/79654813 一、丑数 思路1:比较巧妙的方式是使用空间换时间。我们使用一个数组保存每个丑数,然后生成下一个丑数。 使用了3个指针,分别指向最后一个进行×2,×3,×5操作后会大于当前最大的丑数的位置。那么需要找到下一个丑数的时候,一定会是这三个指针指向的丑数进行对应操作的结果之...原创 2019-06-11 18:33:06 · 258 阅读 · 0 评论 -
剑指offer-树专题
1、二叉树的深度 使用递归(栈 DFS) 一颗树的深度可以看做其左右子树深度的较大值再加1 思路: 1. 树只有一个节点,则深度为1 2. 根节点只有左子树没有右子树,树的深度为左子树深度加1 3.根节点只有右子树没有左子树,树的深度为右子树深度加1 4.根节点既有右子树又有左子树,树的深度为左、右子树深度的较大值加1 # class TreeNode: # def _...原创 2019-07-17 18:47:51 · 258 阅读 · 0 评论
分享