xiaoyu's blog

Coding for a better life!

0%

图论:有向图的环路检测和取环

图的相关概念

顶点

边(有向、无向)

度(入度、出度)

一个顶点如果有一条边指向它,那我们就说这个顶点的入度为1 ;类似地,从顶点出发,有一条边我们就说这个顶点的出度为 1

阅读全文 »

关于 web 视频播放

1. 视频的格式、编码

格式:视频格式也叫视频的封装格式,通俗地讲,视频格式就是一种规范,定义了在什么地方(位置)放什么内容。常见的格式有 mkv,mp4,mov,flv。

编码:视频是 音频 + 图像 的集合,所以视频编码实际上要分成音频编码和图像编码。编码方式实际上描述的就是数据的压缩方式。常见的编码有 h264 、vp8、vp9,以及还没普及的 h265

阅读全文 »

一、什么是跨域?

先来了解2个概念

1. 浏览器的同源策略

出于安全的考虑,同源策略控制了从一个源加载的文档或脚本如何与来自另一个源的资源进行交互,例如使用XMLHttpRequest时就会受到同源策略的约束。

阅读全文 »

题目描述

我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。

如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。

本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。

阅读全文 »

替换空格

题目描述:

请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

阅读全文 »

1.apply(thisArg, [argsArray])

在实现之前,首先看一下MDN上关于apply函数的说明:

apply() 方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。

apply函数会将当前调用函数的this绑定在thisArgs上,我们知道,在JavaScript中,常见的函数绑定this的方法除了apply,call之外,还会在函数被当做对象的属性调用时被这个对象绑定,
例如:

1
obj.func() // 执行时func中的this指向obj
阅读全文 »

如何在一个无序的数组中寻找最大的k个数?

对于这个问题, 最容易想到的办法就是给数组排个序, 如果使用快速排序,时间复杂度是O(nlogn), 但事实上我们只需要寻找这k个数,排序的方法显然做了多余的事情。

那么,能不能在这个基础上优化一下呢?

阅读全文 »