自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图解算法面试题之层序输出二叉树并输出行号-辅助变量实现

继上一篇图解算法面试题之层序输出二叉树并输出行号-map实现之后,继续进行第二种方式的实现。我们这次借助辅助变量,不需要多余的map结构来实现行号的输出。int curLineNumber = 0;// 当前正在打印的行 int curLineCount = 1;// 当前行的节点数量 int nextLineCount = 0;// 下一行的节点数量 01 解释思...

2019-06-15 18:21:36 327 4

原创 图解算法面试题之层序输出二叉树并输出行号-map实现

面试官:下面我们写些算法题吧小猫: 好的面试官:你实现一下,层序输出二叉树小猫:好的,刷刷刷写出来了。面试官:嗯.... 可以。你再写一个,层序输出并且输出行号。小猫内心:层序输出,并且输出行号,我平常学的时候,只学过层序输出....,哎呀,紧张......这个那个...... 最后挂了......小猫回去的路上镇定下来了,输出行号..... 好多种实现方式呢,我怎么当...

2019-06-15 18:19:10 424

原创 mysql时间戳转换问题

1.select now()2.select unix_timestamp(); 单位是秒3.将时间戳转为有格式的时间select from_unixtime(unix_timestamp());4.格式化时间select date_format('2019-06-13 17:23:36', '%Y-%m-%d');select date_format(f...

2019-06-13 17:27:49 3455

原创 剑指offer-层序打印二叉树

01 题目给一个二叉树,从上到下按照层序打印二叉树。如层序遍历结果位 1,2,3,4,5,6,7,802 解题&动图展示用辅助队列完成。根节点首先到队列里面排队,等待输出。根节点被输出,将根节点的子孩子入队排队等待输出。红色为已经入队的元素文字描述过程1.将跟节点1,放入队列中。队列:1。输出元素:2.删除队首元素1,并输出...

2019-06-11 21:56:50 334

原创 动态图解算法面试题之栈的压入、弹出顺序

中间有动态图展示过程。01 题目描述输入两个整数序列,第一个序列表示栈的压入顺序,第二个表示栈的弹出顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如:序列1,2,3,4,5是栈的压入顺序,4,5,3,2,1是该栈的弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。02 解释1.入栈顺序 1,2,3,4,5。出栈顺序,...

2019-06-08 17:13:15 1800

原创 剑指offer之包含min函数的栈

题目:自己实现一个栈,在o(1)时间内获得最小值,o(1)时间内push,pop。第一次看到这个题时,我的第一反应是没反应....第二反应是..... 获得最小值不应该遍历吗?怎么o(1)时间内完成。看了答案后,哦.....原来用辅助栈就能解决。后来再看到这道题时。嘿嘿,这道题我会02 解题首先回顾一下,栈结构:入口和出口都在...

2019-06-06 19:25:51 346

原创 两个队列实现一个栈

本文参考书籍 《剑指offer》 作者何海涛题目:用两个队列实现一个栈,请实现它的两个函数push,pop,分别从栈尾部添加元素,和从栈尾部移除元素。首先我们来回顾下栈和队列的特性,栈的特性是先进后出,即它只能通过一个口出入,如下图,队列的特性,先进先出,从队首出队,从对尾入队,如下图解题思路每次需要出栈的时候,就将队列中的值移动到另外一...

2019-06-04 13:38:34 460

原创 循环实现二叉树的后序遍历

01 二叉树的后序遍历回顾遍历顺序是左孩子节点,右孩子节点,根节点,遍历结果是 3,4,1,7,5,6,2,0如果你不理解树结构的遍历过程,可以这么想象下(1)0来说它的左孩子和右孩子分别是如下图:0的左孩子A 0的右孩子B左、右孩子又是一颗单独的树A,B(2)后续遍历A得:3,4,1(3)B的左子树,还可以再次拆分为CC(4)遍历C...

2019-06-02 18:02:40 2576

原创 循环实现二叉树的中序遍历

01 二叉树的中序遍历回顾中序遍历即父节点在中间遍历,遍历的顺序是左孩子,父节点,右孩子。对于整棵树来说,0是父节点,左边的树枝是左孩子节点,右边的树枝是右孩子节点。如下图所示。遍历过程如下:对于 0的整个左孩子树枝来说,又是一个父子结构, 3是左孩子节点,1是父节点,4是右孩子节点。他们的遍历顺序是3,1,4。遍历父节点,0对于0的整个右孩子树枝也类似。先...

2019-06-02 16:22:33 11074 2

原创 剑指offer-两个栈实现一个队列

题目:用两个栈实现一个队列,请实现它的两个函数add,remove,分别从队列尾部添加元素,和从队列头部移除元素。首先我们来回顾下栈和队列的特性,栈的特性是先进后出,即它只能通过一个口出入,如下图,队列的特性,先进先出,从队首出队,从对尾入队,如下图解题过程用两个栈来实现一个队列,根据栈和队列的特性,要解决的就是出队列的问题,解决过程如下图,我们称为 栈1和栈2...

2019-06-02 09:59:22 124

原创 剑指offer-重建二叉树

题目:输入某二叉树的前序和中序遍历结果,请重建该二叉树如二叉树前序遍历为 1,2,4,7,3,5,6,8中序遍历为 4,7,2,1,5,3,8,6前序遍历的特点:先遍历根节点,然后遍历左孩子节点,然后遍历右孩子节点。中序遍历的特点:先遍历左孩子节点,然后遍历根节点,最后遍历右孩子节点。解题过程前序遍历先遍历根节点,可以获取根节点的值,循环找到中序遍历的根节点的...

2019-06-02 09:56:12 92

原创 调整数组顺序使奇数位于偶数之前

本文参考书籍 《剑指offer》 作者何海涛01 题目输入一个整数数组,实现一个函数,调整数组中数值的顺序,使得所有奇数位于前半部分,所有偶数位于后半部分。如 1,2,3,4,5,6,7,8,9,10奇数和偶数内部顺序无特殊要求02 解题调整数组的顺序奇数位于前半部分,偶数位于后半部分。用start,end分别指向开头和结尾,start遇到奇数,end遇到偶数交换...

2019-05-31 18:10:13 137

原创 单向链表中倒数第k个值

本文参考书籍 《剑指offer》 作者何海涛01 题目输入一个单向链表, 输出该链表中倒数第k个结点。 如一个链表中有6个结点,1,2,3,4,5,6; 这个链表的倒数第三个节点是值为4的结点。链表结构如下:02 解题解法1:获取链表的第k个值,如果可以知道链表长度n,那么可以知道从0开始第n-k的值是要获取的元素。但是我们需要先遍历一次链表获得数组长度,然后在遍...

2019-05-31 18:09:16 1621

原创 简单算法题之数值的正数次方

本文参考书籍 《剑指offer》 作者何海涛01 题目实现函数 double power(double base, int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题。02 解法一最简单直接的解法, 直接for循环相乘这种情况当输入的指数为<=0就没有办法处理,所以不可取03 解法二首先分析所有的可能...

2019-05-31 18:08:17 433

原创 算法题之在O(1)时间内删除链表结点

本文参考书籍 《剑指offer》 作者何海涛01 题目给定一个单向链表的头节点和一个指针节点,定义一个函数在o(1)时间内删除该节点。链表节点和函数节点的定义如下:注意给的待删除结点是链表中的一个指针节点02 解题因为给的结点是链表中的节点,我们很容易想到把下一个节点的数值复制到当前节点,然后把指针指向下下一个节点,这样就完成了O(1)时间内操作删除节点...

2019-05-31 18:06:37 582

原创 图解算法面试题之打印1到最大的N位数

本文参考书籍 《剑指offer》 作者何海涛在面试中经常遇到大数相加问题,所以需要自己需要好好练习下这类型的题目。01 题目输入数字n,按顺序打印出从1到最大的n位十进制数。示例:比如输入3,则打印1,2,3 一直到最大的3位数即99902 解法1这道题第一反应是,求出输入数字n对应的十进制数,如4,则计算出10000,然后for循环输出1到 10000。所以形成了解法...

2019-05-31 18:04:58 200

原创 图解循环实现二叉树的前序遍历

01 二叉树的前序遍历回顾我们知道,二叉树有三类节点,父节点,左孩子节点,右孩子节点。前序遍历的意思就是先遍历父节点,之后左孩子节点,右孩子节点。补充:中序和后序遍历都是针对父节点的说法,父节点中间遍历,父节点最后遍历。左右孩子节点的便利顺序大体上不变。02 图解遍历过程如果已经了解前序遍历的过程,可以跳过这个部分。(1)如下图,遍历节点0(2)如下图,...

2019-05-30 22:12:30 3117

原创 算法面试题之二叉树的子结构

最近在刷剑指offer,把自己的理解写下来01 题目输入两颗二叉树 A和B,判断B是不是A的子结构如:ABB是A的子结构,B中的节点与A的孩子结构 2,5,6 完全对应。02 解题二叉树的每个结点最多有两个子树的树结构。通常左孩子节点,被称为左子树,右孩子节点也可以称为右子树。判断B是否为A的子树,即要对比B的树结构在A中是否存在,所以我们需要一个对比函...

2019-05-29 09:58:39 162

原创 大型系统设计核心之--分布式订单号生成策略

网易公开课分享:分布式、高并发下ID生成要求1.全局唯一2.趋势递增3.效率高(生成、使用、索引)4.控制并发策略一:UUID/GUID (通用唯一识别码)UUID按照开放软件基金会(OSF)制定的标准计算。用到了以太网地址(MAC)、纳秒级时间、芯片ID码和随机数。由以下几个部分的组合:当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUI...

2019-04-21 12:30:38 831

原创 Java内存模型与线程

1.计算机硬件的效率与一致性1.1多任务处理的原因 在我们开发的过程中,经常听到多cpu,多线程处理任务。这么做的目的1.为了充分利用cpu的计算能力,2.计算机的运算速度与它的存储系统和通信子系统速度的差距太大,磁盘I/O,网络通信或者数据库访问要花费很长时间(相比cpu运算),为了不让cpu资源浪费,我们使用多线程操作,在某个线程与存储系统或者通信系统交互的时候,让出cpu资源...

2019-04-21 12:02:33 126

转载 数据库事务的四大特性以及事务的隔离级别

 尊重原创 原创地址http://www.cnblogs.com/fjdingsd/p/5273008.html  怕文章被删除,所以自己记录一下本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前...

2018-02-23 21:45:28 160

原创 java实现组合-n个数取其中k个数的所有组合

n个数取其中k个数的所有组合java实现组合,假设一组数{1,2,3,4,5,6,7,8} ,n = 8 k = 4;那么首先取第一个1,然后在剩下7个里面去第二个数,比如2,然后第三个在剩下的六个数中选择一个数。依次类推

2017-03-16 14:48:42 16505

原创 有三个线程名字分别是A、B、C,每个线程只能打印自己的名字,在屏幕上顺序打印 ABC,打印10次。

今天去面试的时候,遇到的笔试题,当时没有想到,回来学习记录下。今天去面试的时候,遇到的笔试题,当时没有想到,回来学习记录下。public class TestPrintOrder { public static void main(String[] args) { AtomicInteger atomic = new AtomicInteger(); Print tPrint = n

2017-03-15 22:23:02 1622

转载 数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一

2017-02-13 10:33:30 269

转载 红黑树

转载 : http://blog.csdn.net/silangquan/article/details/18655795   连续两次面试都问到了红黑树,关键两次都没有答好,这次就完整地来学习整理一下。没有学习过红黑树的同学请参考:> Chapter 13 Red-Black Trees Chapter 14 Augmenting Data Structu

2017-02-10 10:01:03 246

转载 防止SQL注入

摘要: 防止SQL注入一、SQL注入简介    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击 三、SQL注入

2017-02-09 10:11:00 205

原创 JavaScript学习之接口

鸭式辨型法实现JavaScript接口://ya shi bian li 法实现接口 //接口检验,要能够检验是否实现个接口,及接口中所有的方法 //定义接口对象 var Interface = function(interfacename,methodArray){ if(arguments.length < 2){ throw new Error('t

2016-11-12 11:24:54 225

原创 javascript学习之继承

JavaScript实现继承JavaScript实现继承的方式有三种,第一种,借用构造函数继承,第二种:原型继承。第三种:原型继承和借用构造函数继承的混合使用。1. 借用构造函数继承: 是子类调用父类的模板,用调用函数的模式,调用父类函数,和变量。代码: //继承 模板继承 function Person(name,age){ this.name = name;

2016-11-11 22:27:11 237

原创 JavaScript学习之遍历多维数组

JavaScript提供了forEach方法遍历数组,但是只能遍历一维数组。今天学习了一下记录下来这里有篇博客介绍JavaScript多维数组如何建立很详细  http://blog.csdn.net/wangyuchun_799/article/details/38460515我自己的写法var arr = [1,2,3,4,[5],[6,7,[8,9,[10,11]]]];//

2016-11-11 20:39:36 2326 1

原创 JavaScript学习之单体模式

单体模式是JavaScript中最常见的设计模式,它将代码块划分到不同的逻辑单元中,分开在不同的命名空间中,以防止调用方法冲突,单体模式只有一个实例。简单单体// 简单单体 var Singleton = { name:'fxy', age:'10', getName:function(){ return this.name; }

2016-11-08 17:02:39 238

原创 JavaScript学习之设计模式->代理模式

代理模式概念:           为其他对象提供访问一个代理对象,以控制对对象本身的访问, 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式的角色:                  代理对象,和本体对象,代理对象和本体对象的抽象接口。代理对象和本体对象共同实现一个接口,代理对象包含本体对象的引用,当要调用本体对象的时

2016-11-08 15:38:05 200

原创 JavaScript学习之设计模式->观察者模式

观察者模式的对象分为以下几种:                                       观察者(抽象观察者,具体观察者)                                       主题(抽象主题,具体主题)(主题中有存放观察者的数组,发布消息的方法)有时候,观察者模式也被称为订阅发布者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者监听某一

2016-11-08 12:40:30 231

原创 JavaScript学习之设计模式->命令模式

命令模式->的角色分为:调用者-命令类(执行命令的接口和类)->接收者。调用者调用命令接口,命令接口调用接收者,真正的处理在接收者中完成。举个例子,比如一个机器人,需要走路,跑步,做饭,打扫卫生....等等。人操控机器人的这些动作,其中人就是调用者,机器人的走,跑,做饭,打扫卫生这些操作本来可以放在一个函数或者类中实现。但是将他分开为走路函数(类),跑步函数(类),做饭函数(类),打扫卫生函数

2016-11-07 22:17:39 297

原创 JavaScript学习之设计模式->责任链模式

责任链模式:责任链模式得角色分为发送者和接收者。发送者发送请求,接收者链中的第一个处理请求,当接受者不能处理请求时,将请求发送给下一个接收者。责任链模式的特点: 1. 发送者只知道责任链中的第一个接收者。                                     2.每一个接受者都对请求进行分析,要么处理它,要么往下传递。

2016-11-03 14:24:19 378

原创 action type="stream" 文件下载

action中 type=“stream” 可用于文件下载struts.xml中配置如下:   text/plain   attachment;filename="${downloadFileName}"                           downFileStream                           2048

2016-10-20 14:27:54 605

原创 UUID的解释

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字UUID由以下几部分的组合:(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。(2)时钟序列

2016-10-20 09:06:43 4826 1

原创 java中几个时间的区别(java.sql.date,java.sql.time,java.sql.Timestamp)

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp、以及与MySQL日期类型的对应一、java.util.Date表示某一特定时刻,精确到毫秒。java.util.Date日期格式为:年月日时分秒 类声明如下:public class Date    implements java.io.Seriali

2016-01-20 11:50:38 9678

原创 Java 组合的实现- 输入一个字符,输出字符中字母组成的所有组合

今天遇到的笔试题,时间紧张没有想出来。笔试完后总结一下解决方法。题目如下:给出一个字符串例如:”abc“,输出组成该字符的字母组成的所有组合。上例:a,b,c,ab,ac,bc,abc;以abcde为例来解释,abc的组合的元素个数从1-5个;分别为a b c d e ab ac ad ae bc bd be cd ce abc abd abe acd ace ade bcd bc

2015-10-11 23:29:05 5233

转载 “服务器推”技术的应用

请访问 Ajax 技术资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。centertop订阅 Ajax 相关文章和教程的 RSS 提要传统模式的 Web 系统以客户端发出请求、服

2015-09-09 11:49:27 405

转载 认识HTML5的WebSocket

记录一下,以便查找在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,名为Socket.

2015-09-08 22:04:10 364

struts2的所有jar包

struts2的所有jar包,需要的通知可以下载

2015-06-05

空空如也

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

TA关注的人

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