【算法题】递归求二叉树深度

二叉树的深度算法,是二叉树中比较基础的算法了。对应 LeetCode 第104题。然后你会发现 LeetCode 后面有些算法题需要用到这个算法的变形,比如第110题、543题。这两道题,如果你知道二叉树深度算法的递归过程,就很容易做出来。

关于二叉树的相关知识,可以看我的这篇文章:数据结构】树的简单分析总结(附js实现)

阅读更多

深入分析数组去重

数组去重 是常见的面试考点,所以我就试着深入学习一下。网上也有很多数组去重的文章,但我自己觉得分析地不够深入,其实其中很多的实现都是重复的,可以归为一类,比如 双重循环法 和 indexOf法 的本质都是双重循环,故写下此文,做进一步的总结,同时加深理解。

阅读更多

线性排序算法分析总结

线性排序(Linear sort),指的是 时间复杂度为 O(n) 的排序算法。之所以时间复杂度能达到线性,是因为这种排序不是基于比较的,但它的适用场景也有很大的局限性。本文将叙述 桶排序计数排序基数排序 这三种线性排序肃反啊。

阅读更多

基于Web的svg编辑器(2)——层次结构设计(DOM结构)

svg 编辑器系列(2)其实在之前已经写过了,但写得不好,所以这次重写一下,顺便也把示例代码重写了。

本文主要讲解一款 svg 编辑器的DOM结构,该如何分层以及这样分层的原因。DOM 结构主要参考了一款名为 svgedit的开源 svg 编辑器。

我的正在开发中的 svg 编辑器个人项目:https://github.com/F-star/svg-editor ,欢迎 star。

阅读更多

HTML实现图片在容器内自适应居中(SVG的image方案)

SVG 中的 image 元素和 HTML 下的 img 元素有些不同,后者设置 width/height 会对原图片进行非等比缩放,失去原来的图片比例。但是 SVG 中的 image 元素有些不同,设置 width/height 会对图片进行 等比缩放,并且图片会自适应前面设置好的宽高的容器。但如果想对 image 元素进行非等比缩放,可以通过设置 transform 实现。

阅读更多

获取带参微信小程序码图片

服务器使用 nodejs 请求获取微信小程序图片的教程,附详细代码。此文于2018.09.19完成,无法保证现在微信小程序的接口没有改变。

阅读更多