自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 滑动窗口的最大值

题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2019-03-31 20:26:34 85

原创 数据流中的中位数

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。思路:初始化类时创建一个data存放插入的数据,可全局使用# -*- coding:utf-8 -*-...

2019-03-31 19:49:25 133

原创 二叉搜索树的第k个结点

题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值...

2019-03-31 19:10:25 142

原创 ??序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树序列化:就是遍历输出,采用前序遍历反序列化:根据序列,构造出二叉树所谓序列化指的是遍历二叉树为字符串;依据前序遍历序列来序列化二叉树,因为前序遍历序列是从根结点开始的。当在遍历二叉树时碰到Null指针时,这些Null指针被序列化为一个特殊的字符“#”。 另外,结点之间的数值用逗号隔开。所谓反序列化指的是依据字符串重新构造成二叉...

2019-03-31 18:16:12 354

原创 把二叉树打印成多行

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。类似上一题思路:利用层次遍历,但加入本层levelque和下一层nextlevel,res存放最终值1.根节点加入levelque中2.while leveque:针对每层创建一个nextlevel(存入左子树和右子树),curvalue存放当前层的值3.然后将curvalue加入res中,nextlevel给le...

2019-03-31 15:53:27 81

原创 按之字形顺序打印二叉树

题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:利用层次遍历,但加入本层levelque和下一层nextlevel,加入righttoleft判断是否需要逆序,res存放最终值1.根节点加入levelque中2.while leveque:针对每层创建一个nextlevel(存入左...

2019-03-31 15:38:56 70

原创 对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:定义一个比较函数比较左右子树1.左子树为空,返回右子树是否为空2.右子树为空,返回false3.左右节点的值不同,返回false4.递归比较 左子树的右子树和右子树的左子树 and 右子树的左子树和左子树的右子树# -*- coding:utf-8 -*-#...

2019-03-29 21:36:46 65

原创 ?*二叉树的下一个结点

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:1.空,返回空2.该节点存在右子节点,则指针指向该节点的右子节点,循环判断右子节点的左节点,直到左子节点为空3.该节点不存在右子节点,循环条件(该节点的下一个节点不为空)创建一个根节点(指向该节点的下一个节点),若该节点为根节点的左子节点,返...

2019-03-29 21:15:14 171

原创 删除链表中重复的结点

题型1 删除重复的节点,重复的节点不保留题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5需要考虑第一个节点重复的情况,所以创建一个头节点,保证头节点不会重复,头节点指向head,两个指针,pre 和current...

2019-03-29 20:31:35 132

原创 链表中环的入口结点

题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。1:判断链表是否带环:判断有环的方法就是用两个快慢指针p1、p2,p1的速度为P2的两倍,两个指针同时从链表的头结点开始出发,当两个结点再一次相遇且相遇点不是最后一个结点时,说明此链表有环。2:、若有环,找环的入口:①当P1和P2在PM相遇时:P1走过的路程(结点数):S快=L+X+n*R;P2走过...

2019-03-29 19:14:33 107

原创 表示数值的字符串

题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。思路:主要判断 数字、小数点、e/E、+/-1.+/-:第一次出现只能在句首或者e/E后面;第二次出现只能e/E后面2.e/E:只能出现一...

2019-03-29 16:23:53 75

原创 字符流中第一个不重复的字符

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:创建一个列表插入:对于字符,如果不在列表中,就插入;在列表中则remove(item)返回值:如果列...

2019-03-28 22:15:34 94

原创 正则表达式匹配

题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配思路:递归退出条件:相等匹配;pattern先结束其他:pattern长度大于1判断 patt...

2019-03-28 10:40:17 99

原创 构建乘积数组

题目描述给定一个数组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]。不能使用除法。思路:B[I]没有A[i]两层循环,当j==i时不计算跳过此次循环,其他累乘# -*- coding:utf-8 -*-class Solution: def multiply(self, A):...

2019-03-27 09:59:46 107

原创 数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:因为找出任意一个即可,所以可以对数组,排序,然后比较相邻的两个,相同则赋值并返回# -*- coding:utf-...

2019-03-27 09:13:50 76

原创 把字符串转换成整数

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

2019-03-26 16:31:30 148

原创 不用加减乘除做加法

二进制值相加:第一步:两个数异或:相当于每一位相加,而不考虑进位;第二步:两个数相与,并左移一位:相当于求得进位;第三步:重复上述两步,直到进位值为0,跳出循环。# -*- coding:utf-8 -*-class Solution: def Add(self, num1, num2): # write code here while num2!...

2019-03-26 15:42:20 66

原创 求1+2+3+...+n

思路:递归:退出条件n=0思路二:等差数列公式,pow(x,y) :除2用右移# -*- coding:utf-8 -*-class Solution: def Sum_Solution(self, n): # write code here if n==0: return 0 return n+self.Su...

2019-03-26 15:30:18 238

原创 性能测试

性能测试介绍指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试性能测试关注点:用户:响应时间、稳定性开发:系统架构、数据库架构、代码管理员:资源利用率、可扩展性、系统容量性能测试类型基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标...

2019-03-26 15:19:59 139

原创 Python代码相关

如何反向迭代一个序列法一:list.reverse()for i in list:for i in range(len(list)-1,-1,-1): print(list[i])如何查询和替换一个文本中的字符串#最简单的方法使用replace()tempstr = "hello you hello python are you ok"print tempstr.repla...

2019-03-26 15:12:26 194

原创 界面测试

界面测试界面测试,也叫**UI测试(**User interface testing)。界面测试的目的检查用户界面的风格是否满足客户的要求, 是否通用,文字是否正常,页面是否美观,文字,图片是否结合完美,操作是否友好等等。界面测试为何没必要写自动化测试呢?自动化测试难以判断界面上的控件是否显示正常。界面改动频繁不同的机器,界面显示不一样不同的分辨率,不同的浏览器,不同的显示器。都会...

2019-03-26 14:13:19 176

原创 黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。测试用例(Test Case):是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素评价测试用例的标准:用例表达清楚,无二义性。用例可操作性强。用例的输入与输出明确。一条用例只有一个预期结果。用例的可维护性好。用例对需求的覆盖率高暴露程序Bug的能力强测试用例的设...

2019-03-25 19:36:17 2882

原创 白盒测试

白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒的测试用例需要做到:保证一个模块中的所有独立路径至少被使用一次对所有逻辑值均需测试 true 和 false在上下边界及可操作范围内运行所有循环检查内部数据结构以确保其有效性白盒测试的目的:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状...

2019-03-25 19:18:37 2703

原创 孩子们的游戏(圆圈中最后剩下的数)

题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一...

2019-03-25 17:47:57 83

原创 扑克牌顺子

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张...

2019-03-25 15:39:26 90

原创 翻转单词顺序列

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

2019-03-25 14:54:44 60

原创 python线性表

顺序表顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。数据元素本身连续存储,每个元素所占的存储单元大小固定相同,元素的下标是其逻辑地址,而元素存储的物理地址(实际内存地址)可以通过存储区的起始地址Loc (e0)加上逻辑地址(第i个元素)与存储单元大小(c)的乘积计算而得,即:Loc(ei) = Loc(e0) + c*i,时间复杂度为O(1)。如果...

2019-03-25 14:22:20 4017

原创 左旋转字符串

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

2019-03-24 15:47:27 60

原创 和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。思路:a+b=sum,a,b相差越远,乘积越小,分别从头尾遍历比较,找到则break如果>,则右指针-1如果<,则左指针+1# -*- coding:utf-8 -*-class So...

2019-03-24 15:25:31 73

原创 数组中只出现一次的数字

一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。思路:遍历,创建字典存放次数然后输出为1的# -*- coding:utf-8 -*-class Solution: # 返回[a,b] 其中ab是出现一次的两个数字 def FindNumsAppearOnce(self, array): # write cod...

2019-03-24 14:59:01 75

原创 测试电梯

文档测试:使用说明书功能上升下降按键救援电话开关门楼层按钮楼层显示电梯灯光性能载重量连续运行时间尖锐物品多人长期运行楼层多次按键,上下,同一楼层多次安全性开关门时有人或障碍物到达楼层才开关门有人扒门在电梯内蹦跳手机长时间封闭、通风报警装置紧急处理情况兼容性不同使用场景、海底等不同供电电压多台电梯并行易用性:按键高度残疾人扶手地毯UI...

2019-03-24 14:19:20 169

原创 测试模型和方法

测试目的:功能测试:单元、集成、系统、验收非功能:压力、负载、性能、兼容性、安全性、可用性、配置测试时机和作用冒烟(Smoke Test)、构建验证(Build Verification)、验收(Acceptance)测试策略回归(Regression)、探索(Ad Hoc)、粗略...

2019-03-24 13:53:55 325

原创 和为S的连续正数序列

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

2019-03-22 20:21:09 54

原创 平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路:平衡二叉树:二叉树的左右子树距离不超过1递归:超过1,False不超过1,左右子树都判断# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None...

2019-03-22 19:17:18 66

原创 二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路:递归:左树右树的深度最大值+1# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left =...

2019-03-22 18:31:02 68

原创 操作系统

内存管理机制和优缺点页式、段式、段页式页式:固定大小,虚拟页式地址和内存地址,解决内存碎片,程序都放进内存硬件要求高段式:以段为单位,虚拟段式地址和内存地址,分别编译和编写,不同类型不同保护,以段为单位共享段页式:结合;复杂性和开销大虚拟内存以名为pagefile.sys的交换文件保存在磁盘的系统分区,存放暂时不用的数据好处:扩大寻址空间、内存保护、共享内存、公平分配...

2019-03-22 13:22:16 69

原创 两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点。思路:利用列表# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindFirstCommonNode(se...

2019-03-21 15:54:10 68

原创 数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。排序数组:二分法查找,统计次数# -*- coding:utf-8 -*-class Solution: def GetNumberOfK(self, data, k): # write code here if not data:return 0#注意为空的情况 count=0 ...

2019-03-21 15:53:20 77

原创 数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size...

2019-03-21 15:20:46 170

原创 测试知识点

你所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边...

2019-03-18 19:43:59 3859

空空如也

空空如也

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

TA关注的人

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