javascript原链的自我理解
常见图片格式
搭建webRTC视频聊天
想在公网上实现视频通信,需要下面3个核心元素:
- 一个是NAT穿透服务器(ICE Server),实现内网穿透。
- 基于WebSocket的信令服务器(Signaling Server),用于建立点对点的通道。
- Web客户端。通过H5的WebRTC特性调用摄像头,进行用户交互。
NAT类型和穿透技术方案
算法-动态规划
1. 动态规划
看个小故事:
1 | *writes down "1+1+1+1+1+1+1+1 =" on a sheet of paper* |
算法-综合
1. LRU 缓存机制(中等)
1 | type LRUCache struct { |
算法-查找排序TOPK
1. 查找
1 二分查找(简单)
1 | package main |
算法-字符串
+ 翻转单词顺序(简单)
1 | func reverseWords(s string) string { |
+ 罗马数字转整数(简单)
1 | func romanToInt(s string) int { |
算法-树
两个套路,一个是递归遍历二叉树traverse() 无返回值 ,一个是分解处理子数,有返回值。
综上,遇到一道二叉树的题目时的通用思考过程是:
1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse
函数配合外部变量来实现。
2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值。
3、无论使用哪一种思维模式,你都要明白二叉树的每一个节点需要做什么,需要在什么时候(前中后序)做。