自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 剑指 offer 字符流中第一个不重复的字符(hashmap)

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。Solution使用hashmap保存字母出现的次数,遍历原字符串次数为1则返回该字符。class Solu...

2019-09-24 16:06:43 174

原创 剑指 offer 构建乘积数组(构建矩阵做乘法)

题目描述给定一个数组A[0,1,...,n−1]A[0,1,...,n-1]A[0,1,...,n−1],请构建一个数组B[0,1,...,n−1]B[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]B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]B[i...

2019-09-24 15:40:51 266

原创 剑指offer 把字符串转换成整数

题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入+21474836471a33Solutio...

2019-09-23 15:45:13 147

原创 剑指offer 不用加减乘除做加法(位运算)

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。Solution首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三...

2019-09-21 10:27:02 86

原创 剑指offer 求1+2+3+...+n (短路求值)

题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。Solution短路求值。参考:https://blog.csdn.net/xiaoquantouer/article/details/71023448class Solution: def Sum_Solution(self, n...

2019-09-20 15:59:19 129

原创 剑指offer 翻转单词顺序列

题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?Solutioncla...

2019-09-19 22:22:14 126

原创 剑指offer 左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!Solutionclass Solution: def LeftRotateStrin...

2019-09-19 22:09:28 137

原创 和为S的连续正数序列(双指针)

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

2019-09-19 21:36:23 165

原创 剑指offer 和为S的两个数字 (双指针)

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。Solution1时间复杂度O(n),空间复杂度O(n)。class Solution: def FindNumbersWithSum(self, array, tsum): ...

2019-09-19 20:54:57 148

原创 剑指offer 数组中只出现一次的数字 (位运算)

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。Solution1hashmap。# -*- coding:utf-8 -*-class Solution: # 返回[a,b] 其中ab是出现一次的两个数字 def FindNumsAppearOnce(self, array): hashmap = {}...

2019-09-19 16:25:29 164

原创 剑指offer 丑数

题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。Solutionclass Solution: def GetUglyNumber_Solution(self, index): if index == 0: ...

2019-09-16 16:05:05 92

原创 Leetcode 203. 移除链表元素

描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5Solution注意python中的and oclass Solution: def removeElements(self, head, val) : ...

2019-09-16 16:04:32 83

原创 剑指offer 平衡二叉树(后序遍历)

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。Solution两个思路。写一个求深度的函数,对每一个节点的左右子树求深度,看左右节点深度差值判断是否是平衡二叉树。时间复杂度O(N^2)。自下而上的判断每个节点的左右子树深度差值判断是否是平衡二叉树。时间复杂度O(N)。下面采用这种方法。class Solution: def IsBalanced_Solution(s...

2019-09-16 16:02:25 309

原创 剑指offer 二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。Solutionclass TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass So...

2019-09-16 15:35:56 143

原创 剑指offer 序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到...

2019-09-05 17:05:31 78

原创 剑指offer 对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。class Solution: def isSymmetrical(self, pRoot): if pRoot is None: return True return self.symmetry(pRoot.le...

2019-09-05 15:35:56 74

原创 剑指offer 正则表达式匹配

题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配Solution字符串匹配。(并非使用KMP)class Solution: # s, ...

2019-09-05 15:06:29 105

空空如也

空空如也

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

TA关注的人

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