西大的阳光下有大洋的影子

我不上网了

随笔分类 -  剑指offer

剑指offer——16合并两个链表
摘要:题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 基础题,就是按照两个链表中小的节点,插入新的链表,将位置移到下一个。在一个链表结束后要判断另一个链表是否还有,有的花直接加入即可。 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们 阅读全文

posted @ 2019-09-04 17:13 我不上网了 阅读(118) 评论(0) 推荐(0)

剑指offer——12数值的整数N次方
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0 思路: 简单版(暴力法):给定一个指数,循环和底数相乘得出结果。在该方法中,有个问题需要考虑,就是判断指数为正负的问题,当指数为负时,需要 阅读全文

posted @ 2019-09-04 16:44 我不上网了 阅读(162) 评论(0) 推荐(0)

剑指offer——11二进制中1的个数
摘要:题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路描述 在十进制转换二进制的过程中,每次将该数对2取余,用作二进制序列。同时将该数除以2,更新次数,循环操作直到商为零时停止。 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路描述 在十进制转换二进制 阅读全文

posted @ 2019-09-04 15:50 我不上网了 阅读(105) 评论(0) 推荐(0)

剑指offer——10矩形覆盖
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?(本题跟t跳台阶原理类似,都是通过之前的策略得到现在的) class Solution: def rectCover(self, number): # write 阅读全文

posted @ 2019-09-04 15:38 我不上网了 阅读(102) 评论(0) 推荐(0)

剑指offer——08跳台阶
摘要:题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法? 如果只有1级台阶,那显然只有一种跳法 如果有2级台阶,那么就有2种跳法,一种是分2次跳。每次跳1级,另一种就是一次跳2级 如果台阶级数大于2,设为n的话,这时我们把n级台阶时的跳法看成n的函数,记为,第一次跳的时候有2种不同的选择:一是第一次跳一级,此时跳法的数目等于后面剩下的n-1级台阶的跳法... 阅读全文

posted @ 2019-09-04 15:27 我不上网了 阅读(123) 评论(0) 推荐(0)

剑指offer——二叉树的下一个节点
摘要:def GetNext(self, pNode): # write code here if not pNode: return pNode if pNode.right: left1=pNode.right while left1.left: ... 阅读全文

posted @ 2019-07-23 20:39 我不上网了 阅读(122) 评论(0) 推荐(0)

剑指offer——05用两个栈实现队列(Python3)
摘要:思路:(转) 代码: # -*- coding:utf-8 -*-class Solution: stack1 = [] stack2 = [] def push(self, node): self.stack1.append(node) def pop(self): if len(self.sta 阅读全文

posted @ 2019-05-25 15:39 我不上网了 阅读(88) 评论(0) 推荐(0)

剑指offer——04重建二叉树(Python3)
摘要:思路:在数据结构中,有一个条件反射,谈及二叉树,就递归。所以在实现重建二叉树时,也应该用到递归的思想。 在前序遍历中,根节点处于第一个;在中序遍历中,根节点的左边为左子树节点,根节点右边为右子树节点。 根据性质构造根节点。 1、取出前序遍历的第一个节点作为根节点 2、在中序遍历中按照根节点分割左子树 阅读全文

posted @ 2019-05-25 15:36 我不上网了 阅读(112) 评论(0) 推荐(0)

剑指offer——03从尾至头打印列表(Python3)
摘要:思路:相当于数据结构中的链表就地逆置,可以使用头插法来实现。 代码: class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here l = [] he 阅读全文

posted @ 2019-05-25 15:24 我不上网了 阅读(139) 评论(0) 推荐(0)

剑指offer——02替换空格(Python3)
摘要:思路:Python列表中实现字符串的替换,涉及到频繁的插入操作,在数据结构中线性表分为顺序表和链表,顺序表的适合频繁的查询,链表适合频繁的插入和删除。综上所述,本题使用链表来实现。 我们从字符串的后面开始复制和替换,设置P1和P2指针,其中P1指向原来字符串的尾部,P2指向替换后字符串的尾部。移动P 阅读全文

posted @ 2019-05-25 15:18 我不上网了 阅读(266) 评论(0) 推荐(0)

剑指offer——01二维数组中的查找(Python3)
摘要:题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:本题中的二维数组从左到右,从上到下依次递增,即每一行的最后一个数字为最大,每一列的最下数字为最 阅读全文

posted @ 2019-05-25 15:01 我不上网了 阅读(303) 评论(0) 推荐(0)

剑指offer——06旋转数组的最小数字(Python3)
摘要:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 知识点:查找(二分查 阅读全文

posted @ 2019-05-24 20:28 我不上网了 阅读(167) 评论(0) 推荐(0)

导航