剑指offer
qq_24429333
这个作者很懒,什么都没留下…
展开
-
剑指offer(python)--树
01-重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路: 在二叉树的前序遍历序列中,第一个数字总是树的根结点的值。但在中序遍历序列中,根结点的值在序列的中间,左子树的结点的值位于...原创 2020-02-27 14:56:00 · 139 阅读 · 0 评论 -
剑指offer(python)--链表
01-从尾到头打印链表输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。问题:1 ,如何输入一个链表?—字典2. 如何获得链表值 --字典映射 ?指针 数值3. 如何从头到尾顺序返回?---- for i in range ()返回 总体来说就是将字典转化为列表 (简单说就是把这个链表上的节点一个个读到列表中,然后用[::-1]切片的方法实现逆序)b = a[i:j]...原创 2020-02-27 14:04:56 · 177 阅读 · 0 评论 -
剑指offer(python)---字符串类
01-替换空格请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路1:直接使用python自带的replace函数,replace(要替代处,替代品)class Solution: # s 源字符串 def replaceSpace(self, s): ...原创 2020-02-27 13:48:12 · 149 阅读 · 0 评论 -
剑指offer(python)---数组类
01-二维数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 方法1----暴力求解知道行数和列数逐一比较,复杂度是行数乘以列数class Solution: def Find(self, target, ar...原创 2020-02-27 11:32:11 · 283 阅读 · 0 评论 -
剑指offer---斐波那数列-和青蛙跳
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39要求时间限制1秒思路1–满足时间复杂度 先把n = 0,1,2,这三个项确定了再使用递归斐波那数列, 11235813471123581347112358 从第3个数开始,每一个数都等于它前面的两个数的和class Solution: def ...原创 2019-02-21 15:05:20 · 289 阅读 · 0 评论 -
剑指offer(python)-题目30-最小的k个数--7种排序方法*******
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。题目分析:思路1: 可以先对这几个数进行排序(sort函数,O( n*log2(n) )),切片选择前k 个# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(sel...原创 2020-02-27 15:13:23 · 235 阅读 · 0 评论 -
剑指offer(python)-数组中的逆序对*******通不过
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size...原创 2020-02-27 15:13:08 · 72 阅读 · 0 评论 -
剑指offer(python)--数值
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:# -*- coding:utf-8 -*-class Solution: def GetUglyNumber_Solution(self, index): # writ...原创 2019-02-23 15:00:14 · 313 阅读 · 0 评论 -
剑指offer(python)-栈和队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。复习:栈的特性:先进后出队列的特性:先进先出思路:解析:使用两个栈来实现一个队列,其实就是组合两个栈,来实现队列,栈是先进后出,队列是先进先出,可使用以下操作使用栈来实现队列:一、入队列:把需要存放的元素插入到栈1中二、出队列:ps:此时栈顶元素就是需要出队列的元素1)pu...原创 2019-02-21 13:48:48 · 205 阅读 · 0 评论