秋曾万的博客

一些关于强化学习/统计学习/算法的文章

剑指offer全集详解python版——序列化与反序列化二叉树

题目描述: 序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。 设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且...

2019-01-16 10:33:37

阅读数 293

评论数 0

剑指offer全集详解python版——二叉树的下一个结点

题目描述: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路: 1.该节点有右子树,下一个节点是右子树的最左节点 2.没有右子树的话,如果它是左子节点,则下一个节点是父节点 3.既没有右子树,其它本身...

2019-01-15 22:47:58

阅读数 92

评论数 0

剑指offer全集详解python版——复杂链表的复制

题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路: 1.根据原始链表的每个结点N创建对应的N’。(把N’链接...

2019-01-15 21:31:59

阅读数 39

评论数 0

剑指offer全集详解python版——二叉搜索树的后序遍历序列

题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路: 已知条件:后序序列最后一个值为root;二叉搜索树左子树值都比root小,右子树值都比root大。 1、确定root; 2、遍历序列...

2019-01-15 21:01:40

阅读数 61

评论数 0

剑指offer全集详解python版——机器人的运动范围

题目描述: 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),...

2019-01-15 19:35:46

阅读数 47

评论数 0

剑指offer全集详解python版——矩阵中的路径

题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e...

2019-01-15 19:33:46

阅读数 32

评论数 0

剑指offer全集详解python版——滑动窗口的最大值

题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,...

2019-01-15 19:31:45

阅读数 206

评论数 0

剑指offer全集详解python版——数据流中的中位数

题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。...

2019-01-15 18:59:29

阅读数 356

评论数 0

剑指offer全集详解python版——二叉搜索树的第k个结点

题目描述: 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 思路: 利用中序遍历。 代码: # -*- coding:utf-8 -*- # class TreeNode: # def __ini...

2019-01-15 18:35:21

阅读数 72

评论数 0

剑指offer全集详解python版——把二叉树打印成多行

题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路: 开辅助空间。 代码: # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x...

2019-01-15 15:46:27

阅读数 72

评论数 0

剑指offer全集详解python版——按之字形顺序打印二叉树

题目描述: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路: 开辅助空间 代码: # -*- coding:utf-8 -*- # class TreeNode: # def __...

2019-01-15 15:44:25

阅读数 25

评论数 0

剑指offer全集详解python版——删除链表中重复的结点

题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处...

2019-01-15 15:39:43

阅读数 37

评论数 0

剑指offer全集详解python版——链表中环的入口

题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路: 快慢指针。 代码: # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val...

2019-01-15 15:37:22

阅读数 22

评论数 0

剑指offer全集详解python版——字符流中第一个不重复的字符

题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现...

2019-01-15 15:34:56

阅读数 28

评论数 0

剑指offer全集详解python版——构建乘积数组

题目描述: 给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。 思路: 构建两个分别从头到尾和从维到头的乘积的列表。 代码: # -*- coding:utf-8 ...

2019-01-15 15:27:08

阅读数 26

评论数 0

剑指offer全集详解python版——数组中重复的数字

题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 思路: 从尾...

2019-01-15 15:21:37

阅读数 74

评论数 0

剑指offer全集详解python版——不用加减乘除做加法

题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路: 有很多做法。 代码: # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): # write...

2019-01-15 14:59:31

阅读数 18

评论数 0

剑指offer全集详解python版——求1+2+3+...+n

题目描述: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路: 比如可以利用递归以及关键字and 代码: # -*- coding:utf-8 -*- class Solution: de...

2019-01-15 14:55:58

阅读数 285

评论数 0

剑指offer全集详解python版——圆圈中最后剩下的数

题目描述: 有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最后一个小朋友,求最后一个小朋友的编号 思路: 有一个不太容易...

2019-01-15 14:52:14

阅读数 68

评论数 0

剑指offer全集详解python版——翻转单词顺序

题目描述: 例如,“student. a am I”。翻转后的句子应该是“I am a student.”。 思路: 它又想考原址性的,但python字符串不支持。 代码: # -*- coding:utf-8 -*- class Solution: def ReverseSente...

2019-01-15 11:54:16

阅读数 83

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭