摘要: 兔子就是爱挖坑,我也给自己挖了好多坑… 好多写不完的坑 = = 阅读全文
posted @ 2014-12-28 14:06 前端兔子喵 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 这次我们来聊一聊如何使用DOM API创建新元素、修改已有元素的属性或者移动元素的位置。原生的浏览器API已经给我们提供了DOM操作的所有功能,我们能够不借助jQuery或者其他函数库的帮助就完成这些。 阅读全文
posted @ 2014-12-23 23:18 前端兔子喵 阅读(2402) 评论(0) 推荐(0) 编辑
摘要: jQuery的选择符模块无比优雅,以至于我见过很多Web框架和应用中引用了庞大的jQuery,只是因为它提供了方便的DOM元素选择函数。事实上使用DOM API选择元素并没有那么难,它或许没有jQuery的那么简短,不过用起来也足够简单。 阅读全文
posted @ 2014-12-23 07:34 前端兔子喵 阅读(3497) 评论(19) 推荐(6) 编辑
摘要: Web工程师太依赖jQuery了,某种意义上说jQuery已经成了JavaScript的同义词。但是我们真的需要他么?或许我们应该反思一下什么时候才真的需要jQuery。 阅读全文
posted @ 2014-12-22 07:31 前端兔子喵 阅读(10212) 评论(74) 推荐(19) 编辑
摘要: Sublime Text算是前端开发中最常使用的文本编辑器之一,对于前端工程师来说熟悉手中的编辑器就像熟悉筷子一样重要。Sublime Text的入门文章网上已经太多了,本文只关注能提升前端工程师工作效率的技巧和插件。 阅读全文
posted @ 2014-12-21 22:40 前端兔子喵 阅读(5860) 评论(12) 推荐(13) 编辑
摘要: HTTPArchieve统计显示,图片内容已经占到了互联网内容总量的62%,也就是说超过一半的流量和时间都用来下载图片。本文覆盖了Web图片优化的方方面面,从基本的图片格式选择、到尚未被广泛支持的响应式图片均有所提及。 阅读全文
posted @ 2014-12-09 21:27 前端兔子喵 阅读(33530) 评论(40) 推荐(141) 编辑
摘要: 深度优先遍历题目,在Path Sum的基础上需要可行的解全部列出来。这里会用到有些动态规划的题目中也会用到的技巧,每次深度优先遍历时,都逐级传递从根结点到当前结点的路径 阅读全文
posted @ 2014-11-24 12:33 前端兔子喵 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历题目,拿到题后首先需要确认几个题中没有明确给出的要点:root-to-leaf 路径,必须是从根结点一直到叶子结点,中间取一段是不行的;结点值可以为负;空的二叉树,不能认为存在和为0的路径 阅读全文
posted @ 2014-11-20 12:32 前端兔子喵 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历题目,只要在遍历时取得左右子树的深度,对比是否相差超过1就可以得出结果,需要考虑的技巧是怎么在发现不平衡之后,最迅速的返回结果,不做多余的计算。有可能出现的问题是先写一个Helper方法获得结点到最下层叶子结点的深度,然后在深度优先遍历中每次调用这个方法来对比深度。这是不必要的,获取深度本身就是用深度优先遍历实现的,一边遍历一边计算深度就OK。 阅读全文
posted @ 2014-11-12 12:30 前端兔子喵 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历的题,唯一需要注意的是leetcode约定的对结点为空的两个约定:1. left, right指向None表示没有叶子结点;2. root不为None时(即结点存在),root.val不为None 阅读全文
posted @ 2014-11-12 12:29 前端兔子喵 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 基本要求是使用O(n)的空间,进阶要求是使用常数空间。O(n)的算法比较直接,直接从二叉查找树的用途就能推出。二叉查找树的特点是中序遍历后能够生成递增的序列,因此只需要对给定的二叉查找树进行中序遍历,遍历过程中找到非递增情况,就能够得出不符合递增规律的两个数,交换后二叉查找树的恢复就完成了。 阅读全文
posted @ 2014-11-09 12:27 前端兔子喵 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 对于Binary Search Tree,每道题都需要认真确认题中的约定是否与自己的理解相符,比如大名鼎鼎的Cracking the Coding Interview中,对于二叉查找树的定义为“左子结点小于或等于当前结点”,本题中的描述为”左子结点小于当前结点“。 阅读全文
posted @ 2014-11-09 11:02 前端兔子喵 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 判断一个二叉树是否是镜像的条件是根节点的左右子树互为镜像,左右子树互为镜像的条件是左右子结点的内侧、外侧两个子树互为镜像,这本质上是一个递归问题。 阅读全文
posted @ 2014-11-03 11:00 前端兔子喵 阅读(935) 评论(0) 推荐(0) 编辑
摘要: 写程序解数独的基本解法与人类解数独的方法基本相同,都是采用回溯法逐一试探推进。数独初始表格给出后,剩余的空格所有可能的值全排列的结果即为解空间,在解空间中,对每个空格填入一个值进行试探,如果试探后数独表格合法,则这个值被暂时采纳,对下一个格子进行试探。 阅读全文
posted @ 2014-11-02 09:41 前端兔子喵 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: 最简单直接的解法一般是遍历整张数独表格,遇到的每个元素,以此遍历所属行、所属列、所属粗线宫是否有与之重复的数字。但是这种算法中,每遍历到一个元素,都要进行额外的最多3*9个格子的遍历。 阅读全文
posted @ 2014-11-01 09:39 前端兔子喵 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 本题的一个难点在于要求使用常数空间,这样的话普通的深度优先遍历由于需要递归压栈而无法使用,普通的广度优先搜索需要使用队列也无法使用,因此选择使用两层迭代,使用current指向当前结点的方法进行广度优先遍历。 阅读全文
posted @ 2014-10-30 09:33 前端兔子喵 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 是Populating Next Right Pointers in Each Node II的简化版本,主要简化在于给定的树是完整树,因此Populating Next Right Pointers in Each Node II的解法也完全适用于本题。 阅读全文
posted @ 2014-10-29 09:28 前端兔子喵 阅读(816) 评论(0) 推荐(0) 编辑