自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shizhengxin123的博客

机器学习、深度学习

  • 博客(12)
  • 收藏
  • 关注

原创 最长回文串

回文就是中心对称的单词。从字符的中心开始,向两边扩散检查回文。 这需要维护一个指针,从头开始,以每一个位置为中心遍历一遍。 这比暴力遍历所有子串省了很多重复判断。 以某个字符为核心一旦探测到边界,更长的的串就都不再考虑。 复杂度O(n^2)。注意,回文需要同时检查单核`aba`以及双核`abba`的情况。 代码:res = "" maxs = 0 def findHuiwen(newstr): ...

2018-03-19 13:57:57 328

原创 python归并排序

代码:def merge_sort(arr): if len(arr) == 1: return arr mid = len(arr)//2 l= arr[:mid] r = arr[mid:] left = merge_sort(l) right = merge_sort(r) return merge(left,righ...

2018-03-18 15:17:02 374

原创 python剑指offer连续子数组的最大和

题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少...

2018-03-17 11:56:40 456

转载 python剑指offer字符串的排列

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。思路:回溯法代码: class Solution: def __init__(self): self.result=[] def Permutation(self, ss): ...

2018-03-17 11:26:39 719

原创 python剑指offer系列二叉搜索树的第k个结点

题目:给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 24 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:中序遍历的二叉搜索树就是排序的代码:# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # ...

2018-03-17 10:08:59 363

原创 python剑指offer 链表中环的入口节点

题目:一个链表中包含环,请找出该链表的环的入口结点。思路://先说个定理:两个指针一个fast、一个slow同时从一个链表的头部出发//fast一次走2步,slow一次走一步,如果该链表有环,两个指针必然在环内相遇//此时只需要把其中的一个指针重新指向链表头部,另一个不变(还在环内),//这次两个指针一次走一步,相遇的地方就是入口节点。python solution:# -*- coding:ut...

2018-03-09 16:09:18 1143

原创 python剑指offer系列和为S的两个数字

题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的思路:数列满足递增,设两个头尾两个指针i和j, 若ai + aj == sum,就是答案(相差越远乘积越小) 若ai + aj > sum,aj肯定不是答案之一(前面已得出 i 前面的数已是不可能),j -= 1 若ai + aj < sum,...

2018-03-04 10:55:38 985

原创 python剑指offer系列和为S的连续正数序列

题目:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?思路:连续正数序列为等差数列,和为cur =(low + high)*(...

2018-03-04 10:31:25 399

原创 python剑指offer系列按之字形顺序打印二叉树

题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:层次遍历的变种solution:# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # sel...

2018-03-02 15:42:58 433

原创 python剑指offer系列把二叉树打印成多行

题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:按层遍历,遍历完每层后更新solution:# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right...

2018-03-02 15:12:55 231

原创 python剑指offer系列对称的二叉树

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。solution:/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同* 左子树的右子树和右子树的左子树相同即可,采用递归代码:# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x):...

2018-03-02 10:54:02 205

原创 python剑指offer系列二叉树的下一个节点

题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。solution思路:第一步还是找到某个节点的根节点,方法是一直使用next判断即可。 再将从根节点中序遍历的结果保存到一个数组中,直接找pNode所在索引的下一个即可。当然要考虑这个节点是不是最后一个,如果是最后一个,直接返回None。代码:# -*- co...

2018-03-02 10:23:07 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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