摘要:
快速排序是对冒泡排序的一种改进。其基本思想就是基于分治法的: 在待排序表 L[1...n] 中任意取一个元素 pivot 作为基准值,通过一趟排序将待排序表划分为独立的两部分 L[1...k-1] 和 L[k+1...n], 使得 L[1...k-1] 内所有的元素小于 pivot ,L[k+1.. 阅读全文
摘要:
近期在读 罗曼罗兰 的 《约翰.克利斯朵夫》。本书讲述了主人公约翰.克利斯朵夫在充满庸俗的社会里的奋斗历程。 从儿时音乐才能的觉醒、到青年时代对权贵的蔑视和反抗,再到成年后在事业上的追求和成功,最后趋于清明高远之境,透出另一世界的黎明的曙光。 在读到卷六 《安多纳德》 时,感触颇多。特此记录一下。 阅读全文
摘要:
本随笔主要记录如何使用 Gitee 搭建图床,使用 PicGo 快速上传图片到 Gitee 仓库,使用 Typora 记笔记时同步上传图片到 Gitee 仓库。 1. 准备工具 nodejs Gitee个人仓库 PicGo软件 Typora 没有 Nodejs、PicGo、Typora 的小伙伴,自 阅读全文
摘要:
双指针 双指针可分为三类: 左右指针 快慢指针 滑动窗口 其中,滑动窗口 已单独写了一篇随笔,可跳转查看。 在快慢指针中,又有一类典型算法,叫 Floyd's cycle-finding algorithm,其又名 Floyd's Hare and Tortoise Algorithm。 在这里,我 阅读全文
摘要:
Floyd's cycle-finding algorithm 引用维基百科的定义:Floyd's cycle-finding algorithm is a pointer algorithm that uses only two pointers, which move through the s 阅读全文
摘要:
Boyer-Moore Voting Algorithm 以题讲解 我们以 LeetCode 的 169. Majority Element 来讲解这个巧妙的算法吧。 在给定的 n 个数据中,至少存在 n / 2 + 1 个相同的数据,找出这个特殊的数据。 算法思想 这个算法的主要思想可以这样理解: 阅读全文
摘要:
youtube-dl 是一款强大的命令行下载工具,简简单单的一条命令加上多样化的参数,就可以从网络上下载任何视频。 youtube-dl官网 youtube-dl Github地址 1. window下安装 直接上官网下载 youtube-dl.exe 文件,配置到电脑的环境变量当中,或者不配置也可 阅读全文
摘要:
Sliding Window 滑动窗口就是双指针的一种技巧,运用的就是双指针,但是仅能维持一个指针移动,另一个指针呆着不动。 当一个指针维持不动,另一个指针移动时,两个指针之间的部分就是一个窗口,这个窗口是不断的扩大和缩小的,直到末尾或找到结果。 1. 思路 简单思路就是: right 指针不断向右 阅读全文
摘要:
JS实现继承 方式一:借助call function Parent1() { this.name = 'parent1'; } function Children1() { Parent1.call(this); this.type = 'children1'; } console.log(new 阅读全文
摘要:
前缀和技巧 前缀和技巧 主要用于解决数组的子数组问题。 使用前缀和的经典题目: 560.Subarray Sum Equals K 930.Binary Subarrays With Sum 1. 什么是前缀和 这里以 LeetCode 的一道题目,560. Subarray Sum Equals 阅读全文