simplify the life

2015年11月13日 #

如何使用 UC浏览器开发者版 进行移动端调试

摘要: 在 "如何用 fiddler 代理调试本地手机页" 一文中我们了解了如何用手机查看 PC 端写的网页(本地),但是我们只能看到页面效果,如果哪段 js 挂了,那部分样式失效了,我们该如何进行调试呢?今天为大家介绍的 UC 浏览器开发者版(安卓版)就是这样一个神器! 1、一台PC、一台手机 ... 阅读全文

posted @ 2015-11-13 20:28 lessfish 阅读(11717) 评论(3) 推荐(1) 编辑

2015年11月10日 #

Web Worker 是什么鬼?

摘要: 前言 前端工程师们一定有过这样的体验,当一个页面加载了大量的 js 文件时,用户界面可能会短暂地“冻结”。这很好理解,因为 js 是单线程的语言。我们再走的极端点,一段 js 中出现了 的死循环,这时再去点击页面的 DOM 元素,将不会触发事件,事实上,这些异步的事件都排成了队列,只等页面的 js 阅读全文

posted @ 2015-11-10 21:54 lessfish 阅读(6323) 评论(6) 推荐(28) 编辑

2015年9月24日 #

为什么Javascript中的基本类型能调用方法?

摘要: 我们从一道笔试题说起: var str = 'string'; str.pro = 'hello'; console.log(str.pro + 'world'); 输出啥?要理解这个问题,我们得从头说起。 Javascript 数据类型分两大类,基本类型(或者说是原始类型)和引用类型。... 阅读全文

posted @ 2015-09-24 18:19 lessfish 阅读(2050) 评论(6) 推荐(5) 编辑

2015年9月15日 #

二叉树三种遍历的递归和迭代解法

摘要: 关于二叉树的定义,以及什么是二叉树的三种遍历(先序遍历,中序遍历,后序遍历),不是本文关注的重点,请自行查阅相关资料。本文的重点是 如何用递归和迭代分别实现二叉树的三种遍历 。 leetcode上有三道题分别求三种遍历结果: "Binary Tree Preorder Traversal" 、 "B 阅读全文

posted @ 2015-09-15 18:18 lessfish 阅读(4434) 评论(0) 推荐(0) 编辑

Jump Game 的三种思路 - leetcode 55. Jump Game

摘要: "Jump Game" 是一道有意思的题目。题意很简单,给你一个数组,数组的每个元素表示你能前进的最大步数,最开始时你在第一个元素所在的位置,之后你可以前进,问能不能到达最后一个元素位置。比如: A = [2, 3, 1, 1, 4], return true.一种走法是 ,还有一种走法是 O(... 阅读全文

posted @ 2015-09-15 08:59 lessfish 阅读(9060) 评论(0) 推荐(1) 编辑

2015年9月14日 #

树状数组的三大应用

摘要: "前文" 我们探讨了树状数组的原理。树状数组就是一种数据结构,它天生用来维护数组的 前缀和 ,从而可以快速求得某一个区间的和,并支持对元素的值进行修改。但是树状数组并非只有这一种功能,变形后它还能衍生出两个功能,本文我们就来分别讨论下树状数组这三大功能。 永远要记住,基本的树状数组维护的是数组的前缀 阅读全文

posted @ 2015-09-14 20:08 lessfish 阅读(3429) 评论(2) 推荐(5) 编辑

神奇的树状数组

摘要: 最近在学习位运算,正好把树状数组总结下,也算是能正式给 建个分类。 那么,树状数组到底有什么用呢?诚然,一样没什么卵用的东西我们学它干嘛。 下面举个树状数组的经典应用: 区间求和 。 假设我们有如下数组(数组元素从 开始): var a = [X, 1, 2, 3, 4, 5, 6, 7, 8, 9 阅读全文

posted @ 2015-09-14 14:04 lessfish 阅读(4687) 评论(0) 推荐(2) 编辑

2015年9月11日 #

JavaScript 位运算总结&拾遗

摘要: 最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识。 把一个数变为大于等于该数的最小的2的幂 一个数为2的幂,那么该数的二进制码只有最高位是1。根据这个性质,我们来举个栗子,比如有数字10,转为二... 阅读全文

posted @ 2015-09-11 14:31 lessfish 阅读(1407) 评论(0) 推荐(0) 编辑

leetcode - 位运算题目汇总(下)

摘要: 接上文 "leetcode 位运算题目汇总(上)" ,继续来切leetcode中 "Bit Manipulation" 下的题目。 "Bitwise AND of Numbers Range" 给出一个范围,[m, n](0 <= m <= n <= 2147483647),返回这些数字的与运算结... 阅读全文

posted @ 2015-09-11 08:03 lessfish 阅读(995) 评论(0) 推荐(1) 编辑

2015年9月10日 #

leetcode - 位运算题目汇总(上)

摘要: 最近在看位运算的知识,十分感叹于位运算的博大精深,正好leetcode有 "Bit Manipulation" 的专题,正好拿来练练手。 "Subsets" 给出一个由不同的数字组成的数组,枚举它的子数组(子集)。这道题我之前用递归解过,而且效率还不错(beat 83.33%),解法如下不加详述了... 阅读全文

posted @ 2015-09-10 23:06 lessfish 阅读(1124) 评论(0) 推荐(1) 编辑

【位运算经典应用】 寻找那个唯一的数

摘要: "Single Number" 这一系列有三道题,第一题也是最简单最经典的。 有一个数组,里面的元素每个都出现了两次,除了一个特殊的,求这个特殊元素。接触过这类题目的coder很快能够脱口而出:直接异或就ok了!的确如此: var singleNumber = function(num... 阅读全文

posted @ 2015-09-10 15:06 lessfish 阅读(2107) 评论(2) 推荐(2) 编辑

归并排序 JavaScript 实现

摘要: "前文" 我们了解了快速排序算法的实现,本文我们来了解下另一种流行的排序算法 归并排序算法。 我们先来回顾下快排。快排的核心是找出一个基准元素,把数组中比该元素小的放到左边数组,比该元素大的放到右边数组,如果左边数组和右边数组分别有序,那么leftArray+midItem+rightArray就是 阅读全文

posted @ 2015-09-10 08:39 lessfish 阅读(7988) 评论(0) 推荐(3) 编辑

2015年9月9日 #

【位运算经典应用】 求二进制逆序

摘要: 本文我们来讲讲二进制的经典应用 求二进制的逆序。本文的重点除了算法本身外,还有 和` `的神奇应用。leetcode中有道具体的题目 "Reverse Bits" ,题目很简单,给你一个 32位无符号整数 ,比如43261596(00000010100101000001111010011100),返... 阅读全文

posted @ 2015-09-09 15:09 lessfish 阅读(3705) 评论(2) 推荐(0) 编辑

【位运算经典应用】 N皇后问题

摘要: 说到位运算的经典应用,不得不说N皇后问题。学过程序设计的都知道N皇后问题,没听过也没关系。很简单,最传统的的N皇后问题是这个样子的,给你一个n n大小的board,让你放n个皇后(国际象棋),要满足任意两个皇后不能在一条水平线上,不能在一条垂直线上,也不能在一条45度的斜线上。听起来似乎和数独挺像,... 阅读全文

posted @ 2015-09-09 09:05 lessfish 阅读(1990) 评论(1) 推荐(1) 编辑

2015年9月8日 #

【位运算经典应用】 标志位与掩码

摘要: 前面我们已经了解了六大位操作符( `| ~` `<< `)的用法( "javascript 位运算" ),也整理了一些常用的位运算操作( "常用位运算整理" ),本文我们继续深入位运算,来了解下二进制的经典应用 标志位与掩码。位运算经常被用来创建、处理以及读取标志位序列——一种类似二进制的变量。虽然... 阅读全文

posted @ 2015-09-08 18:38 lessfish 阅读(5380) 评论(0) 推荐(0) 编辑

常用位运算整理

摘要: 位运算优先级 ( + ) ( << ) ( ~ & ^ | ) 右边第k位系列 var x = 18; // 10010 // 取右边第k位 // x (k 1) & 1 console.log(x (2 1) & 1); // 1 // 把右边第k位变为0 // x & ~(1 << (k 1... 阅读全文

posted @ 2015-09-08 08:55 lessfish 阅读(1343) 评论(0) 推荐(0) 编辑

2015年9月7日 #

快速排序 JavaScript 实现

摘要: 作为算法目录下的第一篇博文,快速排序那是再合适不过了。作为最基本最经典的算法之一,我觉得每个程序员都应该熟悉并且掌握它,而不是只会调用库函数,知其然而不知其所以然。 排序算法有10种左右(或许更多),耳熟能详的冒泡排序、选择排序都属于复杂度O(n^2)的“慢”排,而快排的复杂度达到了O(nlongn 阅读全文

posted @ 2015-09-07 15:45 lessfish 阅读(8961) 评论(3) 推荐(0) 编辑

JavaScript的attribute和property辨析

摘要: 1、Attribute Attribute是HTML上设置的属性,在html中显式地设置,或者通过 方法设置。 比如这样一段html代码,实际上它有三个attribute属性,我们可以打印出来看看: var a = document.getElementById('txt'); console.lo 阅读全文

posted @ 2015-09-07 08:54 lessfish 阅读(1787) 评论(5) 推荐(2) 编辑

2015年9月6日 #

javascript 位运算

摘要: 位运算博大精深,本文总结下基本的位运算的概念。 1、整数的二进制码 位操作符用于在最基本的层次上,即按内存中表示数值的位来操作数值。ECMAScript中的所有数值都以IEEE 754 64位格式存储,但位操作符并不直接操作64位的值。而是先将64位的值转换成32位的整数,然后执行操作,最后再将结... 阅读全文

posted @ 2015-09-06 21:00 lessfish 阅读(7457) 评论(5) 推荐(2) 编辑

2015年8月26日 #

求连续最大子序列积 - leetcode. 152 Maximum Product Subarray

摘要: 题目链接:[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray) solutions同步在[github](https://github.com/hanzichi/leetcode)***题... 阅读全文

posted @ 2015-08-26 14:33 lessfish 阅读(1396) 评论(0) 推荐(0) 编辑

导航