SJCHEN

时光,不会辜负每一个平静努力的人

0%

问题背景

当下,我们每个人都有自己的亲感,但你能保证认识你所有的亲戚吗?如何确定一个陌生人是否是你的亲威呢? 如果有这样一个前提:拥有相同祖先的两个人是亲威。那么并查集就可以帮助我们判断某个陌生人是否是我们的亲戚。 通俗地讲一个故事:儿个家族进行宴会,但是家族音遍长寿,所以人数众多由于长时间的分离以及年龄的增长,这些人逐渐忘掉了自己的亲人,只记得自己的爸爸是谁了,而最长者(称为「祖先」)的父亲已经去世,他具知道自己是祖先。为了确定自己是哪个家族,他们想出了个办法,只要问自己的爸爸是不是祖先,一层一层的向上问,直到问到祖先。如果要判断两人是否在同一家族,只要看两人的祖先是不是同一人就可以了。

阅读全文 »

第一章 了解 Web 及网络基础

1.1 使用HTTP协议访问Web

当我们在网页浏览器中的地址栏中输入URL时,Web页面是如何呈现的?

简单的说就是:

(1)从浏览器输入网址后,首先要经过域名解析,因为浏览器并不能直接通过域名找到服务器,而是通过IP地址找到对应的服务器,DNS将域名解析为IP地址;

(2)浏览器通过IP地址找到服务器,建立TCP连接,通过三次握手以同步客户端和服务端的序列号和确认号,并交换TCP窗口大小的信息;

(3)TCP三次握手结束后,开始发送HTTP请求;

(4)服务器处理请求,并返回HTTP响应报文;

(5)浏览器拿到响应文本HTML后,解析渲染页面;

(6)当数据传送完毕后,断开TCP连接。

阅读全文 »

1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

阅读全文 »

11. 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

阅读全文 »

1143. 最长公共子序列

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。

一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。

例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。 两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。

阅读全文 »

图一般使用邻接表或者领接矩阵来实现。

⽤邻接表和邻接矩阵的存储⽅式如下:

阅读全文 »

单链表的基本技巧:

1,合并两个有序链表

2,合并 K 个有序链表

3,寻找单链表的倒数第 K 个节点

4,寻找单链表的中点

5,判断单链表是否包含环并找出环起点

6,判断两个单链表是否相交并找出交点

阅读全文 »

354. 俄罗斯套娃信封问题

给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。

当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。

请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。

注意:不允许旋转信封。

阅读全文 »