你对 HTTP 有什么了解
网站性能优化有哪些方法
你了解快速排序吗
and that's it
Before Interview
15:20 腾讯打电话过来问我方不方便有时间吗?我说可以等我 5 分钟吗?然后他说,那我 1 个小时之后再打电话过来,我说好
继续阅读 »
问题
系统中的所有数据以block 存放: 每个block里:
有 n=1000万个文件, 已经排序好,
每个文件名长度平均l=512 Byte.
2个block中可能包含大量的重复文件, 这时我们需要找出这2个block, 将其合并,
以节省空间.
继续阅读 »
在学习排序算法的时候,经常要用到随机数组,于是就写了一个生成随机数组的方法。算法来自网络,只是修改成了 JavaScript 版本。
基本原理是洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。
具体代码如下:
javascript
/**
*
* 生成从 1 到 length 之间的随机数组
*
* @length 随机数组的长度,如果未传递该参数,那么 length 为默认值 9
*
*/
function randomArray(length) {
var i,
inde
继续阅读 »
最近在研究算法,发现其实算法也并不是特别难,只要抓住算法的核心思想,再静下心来,都可以自己实现的。在计算机领域,有一些常见的而且又经常使用的算法,这些算法我们应该掌握,比如常见的排序算法;还有一些算法就是特定领域中经常使用的算法了,这些算法我们只有必须使用时再去学习使用就行了,比如图像处理中的快速傅里叶变换算法。
算法定义
让我们来看看算法的定义吧。(以下定义摘自中文维基百科)
在数学和计算机科学/算学之中,算法/演算法/算则法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。
算法中的指令描述的是一个计算,当其运
继续阅读 »
Flexbox 布局是 CSS3 中一种新的布局模型,被称为弹性盒模型。该模型是为了改进容器中内容的对齐、方向和排序方式,即使是动态,甚至是未知大小的容器。弹性盒模型的主要特点是,可以在不同屏幕尺寸下以最佳的方式,修改其子项的高度或宽度来填充容器的可用空间。
许多设计师和开发人员认为这种布局使用起来更加简单,弹性盒模型的使元素的定位更加简单,从而某些复杂的布局可以用更少的代码来实现,进而简化了开发过程。Flexbox 布局算法是基于方向的,这与基于垂直和水平的 block 和 inline 布局不同。弹性盒模型可用于小应用或组建的布局,然而对于大型应用应该使用 Grid 布局。
本文将用可视化的方式介绍 Flex 如何影响我们的
继续阅读 »