自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 rgb(a)和16进制相互转换,rgbaToHex, hexToRgb.

最近工作有遇到,就记录一下。其实在写正则表达式的时候,我认为表达清楚是最重要的,简洁反而是其次的。/* rgba(100, 200, 80, 0.7);*/function rgbaToHex (rgba) { rgba = rgba.replace(/\s+/g, ""); // 先剪除字符中的空格,避免写正则时加入过多的\s*; 但是r g b(10, 2 0,...

2019-05-01 14:51:34 4370

原创 git 分支管理

1.git 推送本地分支到远程git push origin <localbranch>:<remotebranch>如果是同一个名称的话,可以简写git push origin <localbranch>2.git 合并远程分支假设有2个开发人员Tony和JackTony创建了tony分支  (git branch tony)创建并切换到该...

2018-08-05 19:05:31 263

原创 交互动画网站学习

1.loading animations2.user interface animations3.animation collection

2018-06-11 17:25:22 990

原创 预检请求(preflight request)

我们先看看什么是 预检请求:A CORS preflight request is a CORS request that checks to see if the CORS protocol is understood.It is an OPTIONS request, using three HTTP request headers: Access-Control-Request-Method...

2018-06-10 00:31:55 5554

原创 多行文字垂直居中

老生长谈的问题了。由于学习了一下table 布局。简单总结一下 <div class="container1"> <div>table-cell: hello, I am your long lost penpal</div> </div> <div class="container2">

2018-06-08 16:24:20 239

原创 从一个梦开始说起

我很少拿blog来记录自己内心的感受或者说对世界的认知,印象中也就一到两次,但今天有种非写不可的愿望。这段文字主要记录以下内容1)独立思考和以自己的直觉判断事物2)叙利亚遭受的侵略最近看似在忙于学习,但也并未安排的满满当当。早上要去体检,未果。下午来到图书馆,继续昨天未完成的学习。每当我期待着发生什么的时候,总会度过一段稳定而充实的生活。但是一个美英法对叙利亚的空袭就发生在前几天,由于一直对新闻后...

2018-04-16 20:49:25 225

原创 Math.random() 生成指定范围随机整数的思考

Math.random()    生成的是[0, 1)之间的伪随机数。注意左闭右开。1.第一种范围,也是最常用的用法,[min, max],均是闭区间。为了方便我们举两个数, [2, 8]之间0____1_____2_____3____4____5____6___7____8_____9____101)如果我们使用Math.floor来近似的话,可以像这样看,就以2为例,2到3区间的数都属于2,例...

2018-04-01 16:34:27 4468

转载 git移除未被跟踪的文件

在利用 git 工作时,工程目录下经常会出现一些未跟踪文件,虽然 git 支持通过 .gitingore 文件添加一些忽略文件类型和文件目录。但有时需要清理一些临时文件和自动生成的文件,手动删除显得太麻烦,这时你可以利用 git clean 命令来帮你完成这项操作。git clean 命令支持以下参数:git clean [-d] [-f] [-i] [-n] [-q] [-e ] [-x |

2017-12-29 11:48:49 4431

转载 mac版MySQL初始密码修改

问题描述:    买了mac电脑,第一次装mysql,不知道初始密码,如何修改初始密码记录下。解决方式:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html亲测方法3,已成功重置密码。(感谢@非常,告诉我官网就有重置方法,网上搜了一堆堆...另外,step1和2来源于htt

2017-11-19 15:10:18 527

原创 6.[Easy] Search Insert Position

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the array.

2017-11-04 15:10:52 206

原创 vscode使用习惯配置

{ "window.zoomLevel": 1, //设置字体大小 "files.autoSave": "onFocusChange", //自动保存,当编辑框失去焦点 "editor.matchBrackets": false // 去除html标签左右的方框}

2017-11-04 11:22:45 502

原创 常用排序算法2--归并排序和快速排序

function ArrayList() { var arr = []; this.insert = function (value) { arr.push(value); } this.toString = function () { return arr.join(" "); } /*归并排序*/ this.mergeSort = function () { a

2017-10-26 20:49:21 273

原创 有序数组归并和有序单链表归并

学归并排序算法的时候,先要了解归并有序数组。顺便写个有序单链表的归并/*有序数组的归并*/function mergeArr(arr1, arr2) { var result = [], arr1_index = 0, arr2_index = 0; while(arr1_index < arr1.length && arr2_index < arr2.lengt

2017-10-26 17:12:35 488

原创 常用排序算法1--冒泡排序,选择排序,插入排序

我们先不分析排序算法的复杂度和稳定性,着重实现一遍所有的排序算法。然后另起一篇简单的分析一下/*Sort and search method*/function ArrayList() { var arr = []; this.insert = function (value) { arr.push(value); } this.toString = function (

2017-10-25 21:14:32 214

原创 对字典类型的扩充

想不通,为什么《学习Javascript数据结构与算法》为什么会设计这样的一小节仅仅是对原生的功能稍微扩充了一下。不说了,为了保持完整性,把代码贴出来吧/* 使用字典来存储唯一值*/function Dictionary() { var items = {}; /*向字典中添加元素, 或者更新一个元素*/ this.set = function (key, value) {

2017-10-11 20:42:34 486 2

原创 二分查找(binary search)

二分查找,也叫做折半查找,或者叫二分搜索。这个算法要求被搜索的数据结构已经排序。比起顺序查找要快很多用递归我们可以很容易的写出这样的算法function binarySearch(value, arr) { var mid = Math.floor(arr.length / 2); if(arr[mid] == value) { return mid; } if(arr[

2017-10-08 19:47:14 304

原创 单链表的实现扩充

之前我们用2种方法实现了单链表,现在我们将再增加一种方法。function LinkedList() { var Node = function (value) { this.value = value; this.next = null; } var head = null; var length = 0; /* 1)使用一个辅助函数来实现递归*/ this.ap

2017-10-08 16:45:15 1811

转载 不重启修改计算机名

原文地址:点击打开链接

2017-10-07 12:03:25 753

转载 Django 踩过的坑(一)

http://www.cnblogs.com/keinlee/p/7083801.html第二次遇到了,还是记录一下

2017-10-07 11:48:20 433 1

原创 笔记:SEO在网站制作中的应用

本文为一篇慕课网SEO学习笔记。原视频地址: SEO在网站制作中的应用1.分类白帽SEO与黑帽SEO2.优化方法 1)内容上的SEO对网站的标题、关键字、描述进行精心设计。及网站内容优化、加设 Robot.txt文件。网站地图、增加外链引用。2)网站结构布局优化    目录层次结构小(不要超过三层)控制首页的链接数量面包屑导航(告知在网页中所处的位置,

2017-10-06 19:19:10 325

原创 二叉搜索树(Binary Search Tree)

二叉搜索树,也叫做二叉排序树。这种结构查找元素非常的高效。在JS里面构建这种结构,有2种方法1)通过嵌套的对象 2)通过嵌套的数组下面我们给出嵌套的对象来实现这种结构/* 二叉搜索树,二叉排序树,Binary Search Tree 这里我们使用嵌套的对象(nested object)*/function BinarySearchTree() { var Node

2017-10-05 20:20:20 407

原创 集合的实现3--ES6的set类型

ES6也实现了Set类型。ES6入门之set和map我们看到var set = new Set([1, 2, 2, 3, 3]);console.log(set);我们也可以稍微修改一下程序。使之可以接受参数。看下面的bold文本部分。由于使用的是函数表达式(对应的是函数声明)。因此代码得放在合理的位置/* 使用数组来模拟集合*/functio

2017-10-05 14:55:54 285

原创 集合的实现2--使用数组

上节我们使用了对象来实现集合类,这节我们使用数组来实现同样的功能/* 使用数组来模拟集合*/function Set(arr) { var items = []; this.add = function (value) { if(this.has(value)) { return false; } items.push(value); return true

2017-10-05 11:15:34 257

原创 集合的实现1--使用对象

集合: 无序不重复/* Set 集合:不重复并且无序*/function Set() { var items = {}; /*集合中添加一个元素*/ this.add = function(value) { if(!this.has(value)) { items[value] = value; return true; } return f

2017-10-04 17:22:21 242

原创 单链表练习2--倒置或者翻转

单链表的倒置,就是将单链表翻转过来,最后一个节点当成是第一个节点,以此类推。重新生成一个新的链表,只在第0个位置插入可以实现/*测试函数*/function test(arr) { var link_list = new LinkedList(); for(var i=0; i<arr.length; ++i) { link_list.append(arr[i]); }

2017-10-04 15:35:45 291

原创 单链表练习1--去重

在进行单链表去重之前,我们先来考虑一下,数组如何就地去重。我们可以很容易的编写出这样的代码:如果通过正向遍历来删除的话,就要注意控制遍历的长度。function arrRemoveRepeatFront(arr) { for(var i=0; i<arr.length; ++i) { if(arr.indexOf(arr[i]) < i) { arr.splice(i, 1

2017-10-04 15:08:28 488

原创 单链表的实现

这节我们实现一个单链表,有详细的注释。之前贴出代码好了/* 链表数据结构的实现*/function LinkedList() { var Node = function (element) { this.element = element; this.next = null; } var length = 0; var head = null; /*向列表

2017-10-03 17:08:53 213

原创 循环队列--击鼓传花或者叫烫手的山芋(hot potato)

之前我们已经实现了一个Queue的构造函数。这里使用它来模拟一个击鼓传花的游戏。function hotPotato(name_list, num) { var queue = new Queue(); for(var i=0; i<name_list.length; ++i) { queue.enqueue(name_list[i]); } var eliminated = "

2017-10-03 12:56:27 2220

原创 优先队列的实现

我们在排队的时候,经常会按照优先级为队列进行排序下面给出一种优先级队列/*优先队列*/function PriorityQueue() { var items = []; /* 这里我们使用数字来定义优先级, 数字小的优先级高。0 的优先级大于1的优先级 同等优先级。先进入队列的排在前面 */ var QueueElement = function (value,

2017-10-03 12:38:56 285

原创 队列的实现

同样适用数组来模拟队列/* Queue class*/function Queue() { var items = []; /*入队*/ this.enqueue = function (value) { items.push(value); } /*出队,出列*/ this.dequeue = function () { return items.sh

2017-10-03 12:37:32 219

原创 栈的应用4--中缀表达式转换为后缀表达式

先占个坑

2017-10-03 12:35:38 190

原创 栈的应用3--进制转换

进制转换可以使用使用取余法来实现基本上是学习编程最常见的一个练习。学习几个基本的单词被除数: dividend除数: divisor商: quotient余数: remainderfunction numberConversion(num, base) { var stack = new Stack(); var base_str = "0123456789

2017-10-02 14:34:10 244

原创 栈的应用2--通用括号平衡

上节我们实现了圆括号的匹配但实际上我们可以实现任意多种括号的匹配。考虑这样的匹配   {[](){}[]()}   。我们只需要在弹出栈的时候判断一下对应关系即可    /* 通用括号匹配*/function generalBracketBalanced(str) { var stack = new Stack(); var types = { "(": ")", "

2017-10-02 14:29:19 310

原创 栈的应用1--圆括号平衡

圆括号平衡,这里可以看相关的问题描述python数据结构与算法 5栈的应用之圆括号平衡主要关心代码的实现,/*平衡圆括号*/function isBracketBalanced(str) { /* @str:圆括号字符串,比如 "()()" "(()()())" 平衡 "(()" 非平衡, 左括号较多 "(()))))" 非平衡,右括号较多

2017-10-02 12:41:44 1588

原创 栈的实现

实现简单,不多解释了,使用数组来保存数据function Stack () { var items = []; //入栈 this.push = function (item) { items.push(item); } // 出栈 this.pop = function () { return items.pop(); } // 返回栈顶的元素 this.pe

2017-10-02 12:22:31 238

转载 Javascript单例模式

点击打开链接很不错的文章

2017-09-22 17:42:02 322

原创 js 生成随机数组或者叫做洗牌算法

我们假设有一个颜色数组是这样的var arr = ["red", "green", "blue", "yellow", "brown", "violet"]。如果将其顺序打乱,生成一个随机的数组。这该如何做呢?1.一种直观的做法就是,随机生成一个[0, arr.lebgth-1] 区间的随机数然后弹出(splice)一个数据,继续生成.逐渐迭代即可 。这种方法最耗时func

2017-09-18 19:24:23 1665

原创 字符串一些常见的练习操作

1.寻找所有子串的位置function substrPosition (str, substr) { /* find all the substr position */ var position_arr = []; var index = str.indexOf(substr); while(index != -1) { position_arr.push(index);

2017-09-15 17:45:53 1514

原创 随机数生成

function getRandom(cnt, min, max) { /* @cnt: 生成随机数的个数 @min: 开始数 @max: 结束数 */ var arr = []; var temp; for(var i=0; i<cnt; ++i) { //temp = Math.round(min+(max-min)*Math.random()); //[a, b

2017-09-15 14:51:00 337

原创 多维数组按照指定项排序

多维数组按指定项迭代排序比如[[[1, 2], [2, 10],[2, 0], ,[1, 4],  [4, 3]]这样的二维数组如果先按第一项排序,就得到[[1,2],[1,4],[2,10],[2,0],[4,3]], 然后再按照第二项排序。或者先按照第二项,再按照第一项也是一样。function sortArray(arr, index) { /* @arr: 待排序的多

2017-09-14 19:53:17 444

空空如也

空空如也

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

TA关注的人

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