自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js1

一个完整的JavaScript实现应该由下列三个不同的部分组成核心(ECMAScript)  文档对象模型(DOM)  浏览器对象模型(BOM)6个属性:async:立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。defer:脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。src:包含要执行代码的外部文件。

2017-04-10 20:12:18 358

原创 包含min函数的栈

//包含min函数的栈//定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。//在该栈中,调用min、push及pop的时间复杂度都是O(1)Stack data = new Stack();Stack min = new Stack();public void push(int num){data.push(num);if(!min.isEmpty

2017-04-06 14:45:22 204

原创 给出前序中序重建二叉树

class TreeNode {    int val;TreeNode left;TreeNode right;TreeNode(int x) { val = x; }}//给出前序和中序重建二叉树public class TreeReBuild {public static void main(String[] args) {int[] pretree=ne

2017-04-06 13:36:15 207

原创 树的子结构

class Tree{int val;Tree left;Tree right;}//判断tree2是不是tree1的子结构public class TreeKid {public static boolean HasSubTree(Tree tree1,Tree tree2){boolean result=false;if(tree1!=null&&t

2017-03-28 12:24:20 207

原创 数组中出现数字超一半的数字

数组中出现数字超一半的数字,长度为n的数组中第n/2大的数字在数组中随机选择一个数字,所有比他它小的放在它左边,比它大的放在它右边。如果这个选中的数字下标正好是n/2,那么这个是数组的中位数。如果大于n/2,中位数在它左边。如果小于n/2,中位数在它右边。public static int partition(int[] data,int length,int start,in

2017-03-27 13:26:51 261

原创 查找和排序算法

查找:顺序查找、二分查找、哈希表查找、二叉排序树查找哈希表和二叉排序树查找的重点在于数据结构而不是算法。哈希表最主要的优点:在O(1)时间查找某一元素,是效率最高的查找方式。           最主要的缺点:需要额外的空间来实现哈希表。排序比查找要复杂一些,面试官经常要求比较插入排序、冒泡排序、归并排序、快速排序等不同算法的优劣。能够从额外空间消耗、平均时间复杂度和最差时间复杂度

2017-03-27 12:20:47 328

原创 字符串匹配的KMP算法

部分匹配值 前缀和后缀的最长的共有元素的长度。ABCDAB前缀:A AB ABC ABCD ABCDA后缀:BCDAB CDAB DAB AB B部分匹配值:AB 2BBC ABCDAB ABCDABCDABDE        ABCDABD已知空格与D不匹配时,ABCDAB是匹配的移动位数=已匹配的字符数-对应的部分匹配值4=6-2所以将搜索词向后移动4位

2017-03-25 10:33:12 189

原创 js 根据td值为其所在tr加样式

function selectAddTR(){$("#sendMessCusDiv table .selected").removeClass("selected");var tr=$("#sendMessCusDiv table tbody tr");for(var i=0;iif($.trim($(tr[i]).find("td:eq(0)").text())==unit){

2017-02-16 16:48:44 2259

原创 css权威指南学习笔记

替换元素:用来替换元素内容的部分并非有文档内容直接表示。元素,由文档本身之外的一个图像文件来替换。元素也是替换元素,单选钮,复选框,文本输入框。非替换元素:段落,标题,表单元格,列表。除了替换和非替换元素,css2.1还使用另外两种基本元素类型:块级元素和行内元素。块级元素生成一个元素框,会填充其父元素的内容区,旁边不能有其他元素。例:行内元素在一个文本行内生成元素框,而不

2017-02-15 22:12:30 232

原创 剑指offer之数值的整数次方

1.考虑到输入的指数是零或负数的情况。2.当底数是零,指数是负数时,做特殊处理。三种出错处理方式:返回值,全局代码,异常3.0的0次方4.在判断底数是否为零时,由于计算机内表示小数时都有误差,如果两个数相差很小就可以认为这两个数相等。public static boolean invalidInput = false;public static double Power(dou

2017-02-14 10:35:56 243

原创 DOM 操作节点

appendChild():用于向childNodes列表的末尾添加一个节点。添加节点后,关系指针会相应地更新。任何节点不能同时出现在文档中的多个位置上。//someNode有多个节点var returnNode = someNode.appendChild(someNode,firstChild);alert(returnNode==someNode.firstNode);fal

2017-02-10 09:45:02 158

原创 DOM 节点关系

DOM1级定义了一个Node接口。JavaScript中所有节点类型都继承自Node类型。1.每个节点都有NodeType属性(节点的类型)。Node类型中定义的12个数值常量:Node.ELEMENT_NODE(1)Node.ATTRIBUTE_NODE(2)Node.TEXT_NODE(3)Node.CDATA_SECTION_NODE(4)Node.ENTITY_REFERE

2017-02-10 08:27:41 321

原创 排序算法

package cn.hanb.study.action;public class Main {//冒泡排序  在一次排序后,把最小的元素放在最前面。时间复杂度O(n^2)public static int[] BubbleSort(int[] arr){if(arr==null||arr.length==0){return null ;}else{in

2017-02-09 08:37:51 143

原创 String StringBuilder StringBuffer

执行速度:StringBuilder>StringBuffer>StringString :字符串常量StringBuilder,StringBuffer:字符串变量每当String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,执行效率会很低。StringBuilder 线程非安全StringBuffer 线程安全字符串缓冲区被多个线程使

2017-02-08 12:05:45 155

原创 剑指offer之斐波那契数列

斐波那契数列:f(n)=0                    n=0;f(n)=1                    n=1;f(n)=f(n-1)+f(n-2)   n>1;用递归有严重的效率问题:                            f(10)                  f(9)                 f(8)     

2017-02-06 14:15:39 191

原创 剑指offer之二进制中1的个数

思路一:判断整数二进制表示中最后一位是不是1,然后将整数右移一位。重复这个步骤,直到整数变为零。              (1)如何判断最后一位是不是1?                       将整数与1做&运算,结果为1,是。结果为0,不是。              (2)右移一位和将整数除以2在数学上等价,可以相互替换吗?                       

2017-02-06 12:38:26 184

原创 TCP/IP协议

计算机网络中,通信发生在不同系统的实体之间。要进行通信,两个实体必须要达成一种协议。协议的三个关键要素就是:语法,语义和时序。语法:数据呈现的顺序。比如:数据的前八位是发送器的地址,第二个八位是接收器的地址,剩下的数据流是报文自身。语义:一个特定的位模式应该怎样解释,基于这样的解释又该采取什么行动。时序:发送端产生数据的速度和接收端处理数据的速度不能相差太大。(导致数据大量丢失) 

2017-01-30 09:29:14 246

原创 剑指offer之用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Singleton {Stack stack1 = new Stack();        Stack stack2 = new Stack();        public void push(int node

2017-01-22 15:47:53 140

转载 设计模式之单例模式

设计模式最本质的目的是为了解耦。为了可扩展性和健壮性。单例模式为了保证系统中只有一个实例,关键点有5(1)私有构造函数(2)声明静态单例对象(3)构造单例对象之前要加锁(lock一个静态的object对象)(4)需要两次检测单例实例是否已经被构造,分别在锁之前和锁之后为什么要检测两次:有可能延迟加载或缓存原因,造成构造多个实例,违反了单例的初衷。lock住的

2017-01-18 16:59:17 137

原创 编程之美 学习笔记

写算法时循环搜索可以通过剪枝来优化性能。

2017-01-18 15:53:37 179

转载 js setTimeout

javascript是单线程运行的,在任何时间点,有且只有一个线程在运行javascript程序。浏览器的内核是多线程的,一个浏览器至少有三个常驻线程:javascript引擎线程,GUI渲染线程,浏览器事件触发线程。GUI与JavaScript互斥,一个执行的时候,另一个就挂起。浏览器事件触发线程:将事件添加到待处理队列的队尾,等待javascript引擎的处理。打印结果

2017-01-18 10:39:12 244

原创 剑指offer 从尾到头打印链表

public ArrayList printListFromTailToHead(ListNode listNode) {ArrayList d = new ArrayList();if(listNode==null){}else{Stack s = new Stack();while(listNode.next!=null){s.push(listNode.val);

2017-01-17 12:26:35 160

原创 剑指offer 替换空格

public String replaceSpace(StringBuffer str) {String[] yu = str.toString().split("");StringBuffer strnew = new StringBuffer();for(int i=1;iif(" ".equals(yu[i])){yu[i]="%20";}strnew.app

2017-01-17 10:49:42 180

原创 剑指offer 二维数组中的查找

public boolean Find(int target, int [][] array) {       int one = array.length;       int two = array[0].length;       int i=0;       int j=two-1;       while(i>=0&&j>=0){        if(i==(

2017-01-17 10:05:36 105

原创 求最大子数组和

一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3 输入描述:输入为两行。第一行一个整数n(1 <= n <= 100000),表示一共有n个元素第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。输出描述:所有连续子数组中和最大的值。输入例子:3-1 2 1

2017-01-16 09:14:40 191

原创 Hibernate学习笔记一

应用程序结构:表现层,业务逻辑层,持久层,数据库业务逻辑层处理使用的实体对象由持久层提供。持久化就是把数据保存到可永久保存的存储设备中,如关系型数据库。对于业务逻辑层,持久层返回服务业务层需要的实体模型。对于数据库,把实体对象转换为关系数据库存储的形式与数据库交互。持久层屏蔽了数据库平台的变化对业务逻辑层的影响。当数据库变化时,只需要修改持久层操作数据库的代码,而持久层提供给业

2017-01-12 16:00:50 122

原创 Java学习笔记之变量

变量名:以字母开头,由字母和数字构成,字母包括 _ 和 $和任何Unicode字符。

2017-01-11 17:45:42 259

原创 Java学习笔记之数据类型

1.Java是一种强类型语言,这意味着必须为每一个变量声明一种类型。2.Java一共八种基本数据类型。四种整型:int(4字节)  short(2字节)  long(8字节,后缀L)  byte(1字节)                  十六进制(前缀0x),八进制(前缀0)                  最好不要使用八进制常数                  从Jav

2017-01-11 14:48:27 157

原创 java学习笔记之多线程与多进程

1.每个进程拥有自己的一整套变量,而线程则共享数据。2.与进程相比,线程更轻量级,创建,撤销一个线程比启动一个新进程的开销要小得多。

2017-01-11 14:47:03 227

转载 三中遍历数组和集合的方法 for foreach iterator

形式:for:   for(int i=0;i需要知道集合和数组的大小,需要知道集合的类型。foreach:     for(int i:array){}不需要知道集合或数组的大小,先得到集合内的每个元素然后进行处理,需要知道集合的类型。iterator:  Iterator iter = array.iterator();              while(iter.

2017-01-11 07:51:55 292

转载 HTTP session

Servlet已经涵盖了JSP技术,因为JSP最终也会被编译为Servlet,两者有着相同的本质。在Java中,HTTP的Session对象用javax.servlet.http.HttpSession来表示。Session代表服务器与浏览器的一次会话过程。直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建。

2017-01-11 07:32:16 204

空空如也

空空如也

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

TA关注的人

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