YY直播前端日常实习面试

358 阅读1分钟

YY直播前端日常实习面试

同源策略

(对应跨域)

  • 协议相同
  • 域名相同
  • 端口相同 什么地方要求同源:
  • ajax通信
  • cookie
  • localStorage
  • IndexDB
  • DOM操作 跨域方法:
  • H5的postMessage
  • WebSocket
  • document.domain(iframe)
  • window.name
  • nginx反向代理

diff算法

  • 只比较同一层级,不跨级比较
  • 标签名不同则直接删除,不继续做深度比较
  • 标签名相同且key相同,认为是相同节点,不继续深度比较

算法

将一个数组从小到大排序并去重

# include <iostream>

using namespace std;

const int N = 100010;

int n, q[N];

void quick_sort(int q[], int l, int r)
{
	if (l >= r) return ;
	int i = l - 1, j = r + 1;
	int mid = q[(l + r) / 2];
	while (i < j)
	{
		do i ++; while (q[i] < mid);
		do j --; while (q[j] > mid);
		if (i < j) swap(q[i], q[j]);
	}
	quick_sort(q, l, j);
	quick_sort(q, j+1, r);
}

int main()
{
	cin >> n;
	for (int i = 0; i < n; i ++) cin >> q[i];
	quick_sort(q, 0, n-1);
	int k = 1;
	for (int i = 1; i < n; i ++)
	{
		if (q[i] != q[k-1]) q[k ++] = q[i];
	}
	for (int i = 0; i < n-1; i ++) cout << q[i] << ' ';
}