方龙的博客


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索
close

SwordPointToOffer(8): 旋转数组的最小数字

发表于 2017-01-26   |   分类于 SwordPointToOffer
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 分析Bad:直接使用顺序查找,时间复杂度是 O(n),但是没有利用旋转数组的特性。 ...
阅读全文 »

SwordPointToOffer(7) 补充: 用两个队列实现栈

发表于 2017-01-25   |   分类于 SwordPointToOffer
问题用两个队列来实现一个栈,完成栈的push和pop操作。 栈中的元素为int类型。 分析通过具体的例子抽象整个过程,所有的入栈操作插入到非空的队列上,所有的出栈操作将非空队列的 length-1 个元素转移到另一个空队列中,剩下的最后一个元素出栈。 实现1234567891011121314151 ...
阅读全文 »

SwordPointToOffer(7): 用两个栈实现队列

发表于 2017-01-25   |   分类于 SwordPointToOffer
题目用两个栈来实现一个队列,完成队列的enqueue和dequeue操作。 队列中的元素为int类型。 分析通过具体的例子来抽象出整个过程,所有的入队操作插入到stack1中,所有的出队操作从stack2中删除。 实现1234567891011121314151617181920212223publ ...
阅读全文 »

SwordPointToOffer(6): 重建二叉树

发表于 2017-01-25   |   分类于 SwordPointToOffer
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析二叉树的前序序列中,第一个数字总是数的根节点的值。但是 ...
阅读全文 »

SwordPointToOffer(5): 从尾到头打印链表

发表于 2017-01-25   |   分类于 SwordPointToOffer
题目输入一个链表,从尾到头打印链表每个节点的值。 分析在不改变链表结构的情况下,可以通过栈来实现“后进先出”的顺序,也可以使用递归来实现。递归在本质上就是一个栈结构,但是递归可能会导致函数调用层级很深造成栈溢出,显示地用栈基于循环实现的代码更好一些。 实现1234567891011121314151 ...
阅读全文 »

SwordPointToOffer(4): 字符串替换空格

发表于 2017-01-25   |   分类于 SwordPointToOffer
题目请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析对于字符串替换,会造成字符串的长度变化,所以有两种方式解决:1.在位的替换字符;2,通过创建新的字符串来完成字符替换操作。 在位解决思路 ...
阅读全文 »

SwordPointToOffer(3): 二维数组中的查找

发表于 2017-01-25   |   分类于 SwordPointToOffer
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析原数组有序,从左到右递增,从上到下递增,步骤如下: 选取数组中右上角(或者左下角)的数字 和target数字比较 2.1 ...
阅读全文 »

Tomcat(5): Connector初始化和加载

发表于 2017-01-24   |   分类于 tomcat
Connector 组件的主要任务: 监听端口,创建服务端与客户端的连接; 获取客户端请求的Socket数据,并对Socket数据进行解析和包装成Http请求数据格式; 将包装后的数据交给Container处理。 Connector有两个属性:protocolHandler(协议处理器)和ada ...
阅读全文 »

Tomcat(4): Container初始化和加载

发表于 2017-01-23   |   分类于 tomcat
Container分成4个级别的容器:Engine、Host、Context、Wrapper,它们是父子关系。 初始化Container容器的初始化入口在org.apache.catalina.startup.Catalina类的load()方法中,其中调用了Digester digester = ...
阅读全文 »

Tomcat(3): 初始化和启动概述

发表于 2017-01-22   |   分类于 tomcat
想要了解 Tomcat 的启动和初始化过程,就应该从启动入口org.apache.catalina.startup.Bootstrap类开始。 main()Bootstrap类的main()方法中,主要的任务是: 实例化Bootstrap对象,并调用其init()方法 如果传入的命令是启动Tomc ...
阅读全文 »
1…141516…26
方龙

方龙

梦想还是要有的,万一实现了呢

257 日志
33 分类
161 标签
GitHub
© 2016 - 2018 方龙
由 Hexo 强力驱动
主题 - NexT.Mist