自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Monster_Girl

独立 清醒 自爱 克制

  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 【python】安装scrapy库过程中出现“ Failed building wheel for xxx”的解决办法

最近想了解一下python爬虫对数据的处理,于是想在电脑上安装一下scrapy包,但是始终安装不成功,就很僵硬,目前已经解决此问题,估记录下解决方式。前置条件:电脑上已安装有python环境欧克,那下面正式开始,先看报错: error: Can not find Rust compiler ---------------------------------------- Failed building wheel for cryptography Running setup.py cle

2021-02-25 20:00:21 1703

原创 【Lintcode】二分查找

描述:给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例 1:输入:[1,4,4,5,7,7,8,9,9,10],1输出: 0样例解释: 第一次出现在第0个位置。样例 2:输入: [1, 2, 3, 3, 4, 5, 10],3输出: 2样例解释:...

2019-06-28 20:44:48 271

原创 【Lintcode】A+B问题

题目描述: 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。注意事项 你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。说明: a和b都是 32位 整数么? 是的我可以使用位运算符么? 当然可以样例 如果 a=1 并且 b=2,返回3思路:既然提示使用位运算,那么我们肯定首选用位运算。以5+17为例: 在二...

2018-04-14 12:04:15 429

原创 递归与循环

众所周知,在一些问题中用递归会使得真个思路变得简单,比如说斐波拉契数列。但同时,简单的思路也会带来比较冗余的压栈开销问题。以下的题只是为了阐述递归分析问题的思路,不讨论复杂度。1 用递归实现数组求和int AddAll(int arr[],int begin,int length) //求数组arr,从begin到结束的和{ if (begin == length) retu...

2018-04-13 16:47:42 323

原创 【Lintcode】合并排序数组&& 合并排序数组 II

题目描述:合并两个排序的整数数组A和B变成一个新的数组。注意事项 你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。样例:给出 A = [1, 2, 3, empty, empty], B = [4, 5] 合并之后 A 将变成 [1,2,3,4,5]思路:既然是合并有序的数组,那么我们肯定想到一个一个去比较,如果A的第一个数大于B的第一个数,就将A整体向...

2018-04-13 16:39:43 387

原创 栈与队列及面试题

学数据结构的时候,我们总会遇到栈和队列,今天就说说栈和队列的异同。相同点: 1. 都是线性结构 2. 操作模式存在限制 重点内容 3. 都可以通过顺序表和链表进行结构实现 4. 插入删除的时间复杂度相同(都是O(1)),空间复杂度也相同不同点: 1. 栈是后进先出原则,而队列是先进先出 2. 栈只允许在末端进行插入删除,而队列是在队首进行插入删除他们的不同点也就决...

2018-03-05 12:03:57 376

原创 netbeans下ruby环境的搭建

在公司实习的时候,公司的脚本语言使用的是ruby,当然ruby环境是必须会搭建的,这两天给自己的电脑搭环境的时候,遇到了各种问题,今天就把这个过程重新整理下。在安装的过程中会遇到两个问题:第一个是在现在的netbeans7开始,IDE已经不支持ruby了,我们安装的时候是通过在netbeans中安装插件来完成的。另外一个问题是ruby1.9之前并不支持中文,在自动化脚本中难免会有中文出现,这也

2018-02-05 20:51:20 851 2

原创 opencv的安装及vs2017环境的配置

最近毕设开始了,我做的方面主要是图像处理方向,于是单独来记关于opencv的学习笔记。

2017-12-28 18:28:58 9919 9

原创 Ruby基础学习(一)

ruby算是我们平常自动化测试中常用的脚本语言了,最近开始学习ruby,将这些学习的点滴记录下来。

2017-11-13 19:35:56 473

原创 【Lintcode】加一

题目描述: 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。 该数字按照大小进行排列,最大的数在列表的最前面。样例: 给定 [1,2,3] 表示 123, 返回 [1,2,4]. 给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

2017-11-07 10:08:47 336

原创 【Lintcode】有效的括号序列

题目描述: 给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。样例: 括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]”则是无效的括号。

2017-11-03 16:40:30 443

原创 软件测试之性能测试

最近一直在忙于找工作,很久都没有更新博客了。记得前几天去面试迅雷,面试官问我性能测试的相关问题,自己答得不是很满意,遂今天抽空来整理一下性能测试的知识。首先说说什么是性能测试。性能测试主要是描述软件在特定的负载和配置环境下程序的响应时间和吞吐率。既然有性能测试,那么一个软件的性能测试指标有什么?常用的性能指标通常有软件的事务处理效率、IO效率、数据库性能、内存利用率、CPU利用率等一些时间

2017-09-27 19:31:05 1260

原创 面试题 25:二叉树中和为某一值的路径

题目描述:给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。

2017-09-05 18:32:05 2006

原创 面试题 31:连续子数组的最大和(滴滴的“连续最大和”)

刚才在笔滴滴的测试开发,编程题第一个就是求连续子数组的最大和问题。这个题在《剑指offer》也有这么一道题,题目描述如下。输入一个整型数组,数组里有正数也有负数。数组中一个或连续多个的多个整数组成一个子数组,求所有子数组的和的最大值。要求时间复杂度为O(N)。

2017-08-26 23:35:52 606

原创 面试题58:二叉树的下一个结点

这个题是在《剑指offer》的英文版新增的面试题,但今天花了我大半天的时间去理解。题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。

2017-08-20 17:39:33 499

原创 面试题30:最小的K个数及topK问题的解决

最近刷题老会被问到一些topK问题,今天把这些问题的解决方案整理一下。题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

2017-08-19 21:09:15 1039

原创 八大排序算法之交换排序

在之前的两篇博客中,我们分别说了插入排序和选择排序,有兴趣的同学还可以戳链接去看看八大排序算法之选择排序、八大排序算法之插入排序。交换排序主要说得是冒泡排序和快速排序,思想就和名字一样是用交换来实现的。

2017-08-18 17:49:01 1228

原创 八大排序算法之选择排序

上篇博客我们说了八大排序算法其中的插入算法—直接插入和希尔排序,有兴趣的同学可以移步至八大排序算法之插入算法进行查看。那么今天我们来说说选择排序。常用的选择排序有直接选择排序和堆排序,选择排序的思想呢,是从每一趟(比如第i趟)在后面n-i个待排序对象中选出关键码最小的对象,作为有序对象序列的第i个对象。当n-2趟排完时,待排序对象只剩下最后一个关键码时就不用在进行选择了。

2017-08-16 20:07:15 865

原创 面试题19:二叉树的镜像

在《剑指offer》中有很多题目都是需要画图去理解思路的,在面试的时候如果能配合画图进行说明,也能让面试官更加理解你的思路。今天说说二叉树的镜像问题。

2017-08-15 17:05:45 442

原创 堆的实现及堆排序

前两天刷笔试题,判断一个数组的序列可以构成堆。仔细想了想,脑海里几乎已经遗忘了堆的知识,今天又重新去看书,把堆的知识总结一下。

2017-08-13 18:06:28 447

原创 面试题6:重建二叉树

关于重建二叉树这块,看《剑指offer》三四遍还是不能理解,然后今天中午又再次去领悟这个重建的思想,发现是自己想复杂了。遂决定写博客记录下自己的心得。

2017-08-08 11:58:41 409

原创 有关二叉树的遍历问题非递归

最近在刷题,经常会遇到一些树的遍历问题。在之前也写过博客详细讲解二叉树遍历问题的递归实现,可以戳有关二叉树的遍历问题去瞅瞅。这篇博客主要想整理一下非递归的实现及遍历思想。

2017-08-07 10:31:05 482

原创 链表的K组翻转问题

在这两天的刷题中,遇到一个求链表的翻转问题,坦白讲,这个问题我想得思路有很多种,但在这么多种的思路中,没有一个是能够轻易实现的。题目如下。 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6。

2017-08-03 18:04:59 591

原创 【计算机网络】网络诊断工具ping的模拟实现之具体细节

距离上次搭建框架已经过去了一个星期,在反复测试后,ping终于可以按照我所期望的这样来运行了。在搭建框架的时候,以为这个小项目不是很难,但最后在很多细节上花费了很多时间。

2017-07-30 15:54:06 700

原创 【计算机网络】网络诊断工具ping的模拟实现之搭建框架

昨天整理了整个ICMP的知识,项目的知识储备已经完成了一半,今天需要看看这个报文在我们网络编程中该怎么发送。上面是一个IP数据报,我们在使用ping的时候关注的是:被测试系统主机名和相应 IP 地址、返回给当前主机的 ICMP 报文顺序号、ttl 生存时间和往返时间 rtt(单位是毫秒,即千分之一秒)。今天主要是搭建一个框架,整理好每部分该怎么去分配安排。

2017-07-23 10:37:41 572

原创 【计算机网络】网络诊断工具ping的模拟实现之基础知识

在学习网络的时候,我们肯定用过ping来测试两个主机之间是否连通。最近在复习就想着可不可以自己来实现一个ping。这也可以算得上是一个小项目了。为了更好的模拟实现ping命令,我想按照一个开发的模式去做这个项目。先从对项目的理解上开始,然后在去调查整个背景知识,再去构建框架逐步实现。

2017-07-22 20:56:18 1546

原创 面试题26:复杂链表的复制

在面试中,最常见的面试题总绕不过链表,关于链表能考的东西太多,对一个题的思考也能从各个方面展现出现。在《剑指offer》中,复杂链表的复制问题就像是一股清流。关于链表的复制,大家第一反应都是开辟一个新的空间,然后按照next一直拷贝到结束。如果这个时候,这个链表除了next还含有一个random指针,我们在采用这种复制方法,就得反复去寻找这个自由指针所指向的结点,时间复杂度就会比较高,

2017-07-22 16:50:15 510

原创 【每天一点Linux】shell脚本学习之二——语法

上篇我们说了关于shell的脚本学习之一——符号 问题,有兴趣的同学可以去看看。今天我们来看看shell的语法问题。

2017-07-01 12:02:26 853 1

原创 【每天一点Linux】Linux下进度条的实现

在Linux的学习中,我们经常会听到缓冲区的概念。那么什么是缓冲区呢?在之前学习C语言和C++的时候,我们知道这相当于一个容器,用来暂时存储我们的输入输出数据。相对来说,这块空间可以提高我们I/O的效率。

2017-06-30 16:40:34 476

原创 【计算机网络】TCP协议详解

在网络协议中,TCP协议算是最常见的协议之一了。和UDP相比,TCP需要在传送数据前先建立起连接,结束后释放连接。TCP的特性也就意味着它不支持广播或多播服务。也因为TCP的需要稳定可靠、面向连接的运输服务,不可避免就要增加很多开销,比如确认、流量控制、计时器等连接管理等。

2017-06-27 19:40:14 735

原创 【每天一点Linux】shell脚本的学习之一——符号

在Linux中,shell的重要性不言而喻。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。当我们写一个shell脚本需要指明它在那种环境下进行编译。

2017-06-27 17:32:49 635

原创 【计算机网络】端口的分类及用途

一般说起端口,我们可以认为是设备与外界通讯交流的出口。在网络技术中,端口包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。物理端口又称为接口,是可见端口。而我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

2017-06-19 17:18:29 5627

原创 【每天一点linux】多线程编程之生产者消费者模型

在实际的软件开发过程中,有些模块专门负责产生数据,另一个相对应的模块负责处理数据。在这种情况下,可以形象地称产生数据的模块为生产者,消费数据的模块为消费者。往往实际中的生产者和消费者不仅仅是这样的,在它们之间还存在着一个缓冲区作为中介。生产者把数据生产出来放入缓冲区,消费者从缓冲区取得数据消费。也就是说生产者和消费者有“321”原则。

2017-06-15 20:45:30 765

原创 【每天一点linux】进程间通信--信号

信号是linux进程间通信的一种机制,本质是在软件层次上对对硬件中断机制的一种模拟。和其他进程间通信方式(例如管道、共享内存等)相比,信号所传递的信息是比较少的。正因为传递的信息比较少,信号更方便管理和使用,例如进程终止、挂起等。

2017-06-14 23:27:04 487

原创 八大排序算法之插入排序

在数据结构中,排序是处理数据中经常用到 ,而排序又分为内排序和外排序。内排序指的是排序期间,数据全部放在内存中进行排序;而外排序则是因为在排序期间全部对象个数太多,不能同时放在内存中,在排序的过程中不断进行内外存之间移动的排序。选择合适排序算法这个时候就非常重要,可以帮助我们减少时间、空间等一些可避免的开销。

2017-05-11 19:29:15 457

原创 面试题50:求二叉树中两个节点的最近公共祖先

在数据结构中,二叉树是一个比较复杂的数据结构。在面试的时候,很多面试官喜欢通过二叉树来考察一个程序猿的逻辑、代码等基本功。最近正好在看《剑指offer》,并且学习了二叉树的一些相关知识。在《剑指offer》的第50题,求二叉树中两个节点的最近公共祖先。

2017-05-06 10:32:34 1040 1

原创 红黑树的算法实现

在搜索树的大家族里,红黑树算是用途最广泛的一个代表了。在我们使用的C++STL库中,set、map都是以它作为底层去实现的。当然在一些其他的地方,比如Java集合中的TreeSet和TreeMap,还有Linux虚拟内存的管理,也是通过红黑树去实现的。

2017-04-24 11:46:12 593

原创 【每天一点linux】find命令的详细说明

在linux下有一个命令的功能相当强大,这个命令就是find。它主要是在目录结构中搜索文件,并执行指定的操作。

2017-03-30 18:30:46 523

原创 搜索二叉树的算法实现

搜索二叉树,又叫排序二叉树、二叉查找树。它是一棵空树或者具有以下性质: 1. 每个结点上都有作为搜索依据的关键码,所在结点的关键码互不相同。 2. 左子树上的所有结点小于根结点。 3. 右子树上的所有结点大于跟结点。 4. 左右子树都可以看成搜索二叉树。

2017-03-30 14:40:11 753 1

原创 二叉树的线索化

在上篇博文中我们说到有关二叉树的遍历问题,将树中的所有结点按照某种次序排列在一个线性有序的序列中,然后从某个结点出发就会可以轻易找到在某种次序下的前驱和后继。然而当我们希望快速找到某一结点的前驱后继,同时又不希望对二叉树进行遍历时,这时就需要一个东西去把每个结点的前驱后继记录保存起来。为了做到这一点,数据结构引出一个概念叫线索。

2017-03-29 12:55:04 400

ruby插件.rar

ruby插件.rar

2018-02-05

空空如也

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

TA关注的人

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