自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode经典编程题(七)

1. palindrome-partitioning-iiDescriptionGiven a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.F...

2019-05-20 23:03:11 190

原创 JS高级程序设计读书笔记(第十四章 表单脚本)

14.1 表单的基础知识在 HTML 中,表单是由 元素来表示的,而在 JavaScript 中,表单对应的则是 HTMLFormElement 类型。 HTMLFormElement 继承了 HTMLElement ,因而与其他 HTML 元素具有相同的默认属性。不过, HTMLFormElement 也有它自己下列独有的属性和方法。 acceptCharset :服务器能够处理的字符集...

2019-05-19 16:06:25 446

原创 LeetCode经典编程题(六)

1. candyDescriptionThere are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must h...

2019-05-16 22:25:13 157

原创 LeetCode经典编程题(五)

1. copy-list-with-random-pointerDescriptionA linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of t...

2019-05-14 15:37:02 206

原创 LeetCode经典编程题(四)

linked-list-cycleDescriptionGiven a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?SolutionUse a fast pointer and a slow pointer. If there is...

2019-05-12 15:52:51 117

原创 LeetCode经典编程题(三)

1. binary-tree-preorder-traversalDescriptionGiven a binary tree, return the preorder traversal of its nodes’ values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2...

2019-04-23 17:18:52 119

原创 LeetCode经典编程题(二)

1. sort-listDescriptionSort a linked list in O(n log n) time using constant space complexity.SolutionideaO(n log n) means that we can use quick sort or merge sort and so on.The java Collections....

2019-04-21 21:57:47 305

原创 LeetCode经典编程题(一)

1. Min depth of Binary Tree题目描述Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.Solution...

2019-04-20 23:44:43 420

原创 JS高级程序设计读书笔记(第十三章 事件)

第十三章 事件JavaScript 与 HTML 之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式的模型,支持页面的行为(JavaScript 代码)与页面的外观(HTML 和 CSS 代码)之间的松散耦合。13.1 事件流13.1.1 事件冒泡事件冒...

2019-04-19 23:16:49 361

原创 2018校招真题【牛客网】练习(八)

1、字节跳动附加题存在n+1个房间,每个房间依次为房间1 2 3…i,每个房间都存在一个传送门,i房间的传送门可以把人传送到房间pi(1<=pi<=i),现在路人甲从房间1开始出发(当前房间1即第一次访问),每次移动他有两种移动策略:A. 如果访问过当前房间 i 偶数次,那么下一次移动到房间i+1;B. 如果访问过当前房间 i 奇数次,那么移动到房间pi;现在路人甲想知道移动到...

2019-04-19 22:13:53 779

原创 JS高级程序设计读书笔记(第十二章 DOM2和DOM3)

第十二章 DOM2和DOM3 DOM2 级核心(DOM Level 2 Core):在 1 级核心基础上构建,为节点添加了更多方法和属性。 DOM2 级视图(DOM Level 2 Views):为文档定义了基于样式信息的不同视图。 DOM2 级事件(DOM Level 2 Events):说明了如何使用事件与 DOM 文档交互。 DOM2 级样式(DOM Level 2 ...

2019-04-17 20:20:51 233

原创 精通CSS读书笔记(第四章 背景图像效果)

第四章 背景图像效果本章内容:固定宽度和可变宽度圆角框滑动门技术多个背景图像和border-radius的属性CSS投影不透明度和RGBa让PNG适用于IE老版本视差滚动图像替换4.1 图像背景基础body{ background-image: url(xxx.jpg);}默认平铺,可以选择垂直平铺、水平平铺和不平铺。body { background-im...

2019-04-10 20:45:54 177

原创 JS高级程序设计读书笔记(第十一章 DOM扩展)

第十一章 DOM扩展对 DOM 的两个主要的扩展是 Selectors API(选择符 API)和 HTML5。这两个扩展都源自开发社区,而将某些常见做法及 API 标准化一直是众望所归。此外,还有一个不那么引人瞩目的 Element Traversal(元素遍历)规范,为 DOM 添加了一些属性。虽然前述两个主要规范(特别是 HTML5)已经涵盖了大量的 DOM 扩展,但专有扩展依然存在。本章...

2019-04-09 15:26:35 345

原创 精通CSS读书笔记 (第三章 可视化格式模型)

第三章 可视化格式模型最重要的三个CSS概念:浮动、定位、盒模型本章学习:1、盒模型的复杂性和特点2、如何以及为什么使用外边距叠加3、绝对定位和相对定位之间的差异4、浮动和清理是如何工作的...

2019-04-09 10:34:30 172

原创 JS高级程序设计读书笔记(第十章 DOM)

第十章 DOM

2019-04-08 23:45:11 433

原创 JS高级程序设计读书笔记 (第九章 客户端检测)

第九章 客户端检测能力检测最常用也最为人们广泛接受的客户端检测形式是能力检测(又称特性检测)。能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。采用这种方式不必顾及特定的浏览器如何如何,只要确定浏览器支持特定的能力,就可以给出解决方案。能力检测的基本模式如下:if (object.propertyInQuestion){//使用 object.propertyInQuestion...

2019-04-05 22:38:32 183

原创 精通CSS读书笔记 (第二章 为样式找到应用目标)

第二章 为样式找到应用目标常用选择器类型选择器和后代选择器伪类选择器(e.g. xxx:hover)通用选择器ID选择器和类选择器高级选择器后代选择器 a>b相邻同胞选择器 a + b属性选择器 a[b] / a[b=“xxx”] / a[b~=“xxx”]层叠和特殊性层叠采用的重要次序:1、有!important的用户样式2、有!important的作者样式3、...

2019-03-19 10:45:39 142

原创 JS高级程序设计读书笔记(第八章 BOM)

第八章 BOMwindow对象BOM 的核心对象是 window ,它表示浏览器的一个实例。在浏览器中, window 对象有双重角色,它既是通过 JavaScript 访问浏览器窗口的一个接口,又是ECMAScript 规定的 Global 对象。这意味着在网页中定义的任何一个对象、变量和函数,都以 window 作为其 Global 对象,因此有权访问parseInt() 等方法。全局作...

2019-03-18 16:28:53 262

原创 JS高级程序设计读书笔记(第七章 函数表达式)

第七章 函数表达式函数表达式是 JavaScript 中的一个既强大又容易令人困惑的特性。第 5 章曾介绍过,定义函数的方式有两种:一种是函数声明,另一种就是函数表达式。关于函数声明,它的一个重要特征就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面。//函数声明的语法是这样的。...

2019-03-17 14:40:50 378

原创 JS高级程序设计读书笔记(第六章 面向对象的程序设计)

第六章 面向对象的程序设计理解对象ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样(以及其他将要讨论的原因),我们可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。var person = ...

2019-03-16 20:27:00 215

原创 JS高级程序设计读书笔记(第五章 引用变量)

第五章 引用变量Object创建 Object 实例的方式有两种。第一种是使用 new 操作符后跟 Object 构造函数,另一种方式是使用对象字面量表示法。var person = new Object();person.name = "Nicholas";person.age = 29;var person = {name : "Nicholas",age : 29};...

2019-03-15 23:51:41 168

原创 2018校招真题【牛客网】练习(七)

1、最后一位题目描述牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.牛牛现在给出一个sum,牛牛想让你求出一个正整数X经过上述过程的结果是sum.思路:abc...

2019-03-15 13:57:19 725

原创 JS高级程序设计读书笔记(第四章 变量作用域和内存问题)

第四章复制变量值如果从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上。此后,这两个变量可以参与任何操作而不会相互影响。...

2019-03-14 14:51:53 136

原创 JS高级程序设计读书笔记(第二章 在HTML中使用JavaScript)

第二章defer,async,XHTML,外部文件优点、文档模式、noscriptdefer延迟加载,仅适用于外部script文件。<!DOCTYPE html><html><head><title&

2019-03-14 09:40:51 156

原创 JS高级程序设计读书笔记(第三章 基本概念)

第三章严格模式“use strict”;数据类型ECMAScript 中有 5 种简单数据类型(也称为基本数据类型): Undefined 、 Null 、 Boolean 、 Number和 String 。还有 1种复杂数据类型—— Object , Object 本质上是由一组无序的名值对组成的。typeof对一个值使用 typeof 操作符可能返回下列某个字符串: “und...

2019-03-14 09:40:31 138

原创 2018校招真题【牛客网】练习(六)

1、循环数比较题目描述对于任意两个正整数x和k,我们定义repeat(x, k)为将x重复写k次形成的数,例如repeat(1234, 3) = 123412341234,repeat(20,2) = 2020.牛牛现在给出4个整数x1, k1, x2, k2, 其中v1 = (x1, k1), v2 = (x2, k2),请你来比较v1和v2的大小。代码:import java.uti...

2019-03-13 20:03:35 397

原创 2018校招真题【牛客网】练习(五)

1、拼凑正方形题目描述:牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。思路:在最长和最短间找一个长度,使之长度差最小。代码:import java.util.*;public class Main{ p...

2019-03-12 14:09:23 738

原创 2018校招真题【牛客网】练习(四)

1、删除重复字符题目描述:牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母’a’和字母’n’分别出现了三次和两次。但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。思路:在每次加入时,判断是否已经存在。代码:import java.util.*;public class Main...

2019-03-11 11:59:20 1010 1

原创 2018校招真题【牛客网】练习(三)

1、疯狂队列题目描述:小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大的顺序来进行列队。现在给出n个...

2019-03-11 10:14:03 309

原创 2018校招真题【牛客网】练习(二)

1、等差数列题目描述:如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列思路:...

2019-03-09 13:03:39 259

原创 2018校招真题【牛客网】练习(一)

1、最大乘积题目描述:给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)思路:找出最大三个和最小两个,返回最大三个乘积或最大和最小两个乘积。注意点:初值max0-max2赋值最小值,min0-min1赋值最大值。代码:import java.util.Scanner;public class Main{ ...

2019-03-06 19:53:39 208

原创 剑指Offer行榜【牛客网】练习(十四)

1、序列化二叉树题目描述:请实现两个函数,分别用来序列化和反序列化二叉树思路:1、从二叉树到序列化:将二叉树的结点依次加入ArrayList,同时,如果该结点!=null,那么将它的左右子结点加入ArrayList,并得到序列化"val,";如果该结点==null,那么得到序列化"#,"2、从序列化到二叉树先得到所有结点(不带左右子结点)加入ArrayList,然后将结点依次取出,为...

2019-03-04 23:49:34 106

原创 剑指Offer行榜【牛客网】练习(十三)

1、删除链表中的重复结点题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:遍历一次得到重复结点,然后再遍历一次删除多余结点。代码:/* public class ListNode {

2019-03-04 12:55:46 100

原创 剑指Offer行榜【牛客网】练习(十二)

1、构建乘积数组题目描述:给定一个数组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]。不能使用除法。思路:方法1、暴力求解O(n^2)方法2、求得每一个数左侧和右侧的乘积O(n)代码:// method 1public class Solution { public in...

2019-03-03 16:09:08 88

原创 剑指Offer行榜【牛客网】练习(十一)

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

2019-03-01 23:16:23 109

原创 设计模式(十一)Object Pool模式

Object Pool模式使用Singleton模式构建对象池管理Manager,初始化N个对象,当需要使用时遍历N个对象,得到空闲对象,不使用时释放该对象。Object Pool模式关键特征意图在创建对象比较昂贵,或者对于特定类型能够创建的对象数目有限时,管理对象的重用。问题对象的创建和管理必须遵循一组定义明确的规则集。通常这些规则都与如何创建对象、能够创建多少...

2019-03-01 11:09:45 377

原创 剑指Offer行榜【牛客网】练习(十)

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

2019-02-28 19:47:16 108

原创 设计模式(十)Singleton模式和Double-Checked Locking模式

Singleton模式和Double-Checked Locking模式Singleton模式《设计模式》一书中的说法,Singleton模式的意图是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。Singleton模式关键特征意图希望对象只有一个实例,但是没有控制对象实例化的全局对象。还希望确保所有实体使用该对象相同的实例,而无需将引用传给它们问题几个...

2019-02-28 16:00:21 336

原创 剑指Offer行榜【牛客网】练习(八)

1、两个链表的第一个公共结点题目描述:输入两个链表,找出它们的第一个公共结点。思路:用两张ArrayList依次保存两个链表的值,如果当前结点在另一个ArrayList中出现,则是公共结点。代码:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { ...

2019-02-04 11:53:05 133

原创 设计模式(九)【Template Method模式】

Template Method模式《设计模式》中描述Template Method模式的意图是:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。不改变算法的结构而重定义它的步骤。Template Method模式关键特征意图定义一个操作中算法的骨架,而将一些步骤延迟到子类中。不改变算法的结构而重定义它的步骤。问题要完成在某一细节层次一致的过程或一系列步骤,但其...

2019-02-02 22:38:25 99

空空如也

空空如也

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

TA关注的人

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