摘要: 题目:按层输出二叉树,每层一行 注: 使用队列,这里是每层一行,需要再设置一个变量,用来存储每层的节点。当前队列的所有元素即为现层二叉树的所有节点。 阅读全文
posted @ 2019-08-18 21:31 尘世中一个迷途小书童 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目:求x的n次方 注: 如果n为0,直接返回1; 如果n小于0,则n取相反数求-n次幂之后,取倒数; 如果n大于0,采用分治的方法,如果n为奇数,转为n-1次方乘以x,如果n为偶数,计算x1/2,然后平方。 阅读全文
posted @ 2019-08-18 20:58 尘世中一个迷途小书童 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题目:普通二叉树的最小公共节点 注: 如果p,q指向根节点,即该节点为最小公共节点。然后遍历左、右子树。如果遍历左子树为空,则返回右子树的结果,如果右子树为空,则返回左子树的结果,如果都不为空,则返回此时传入的根节点。 阅读全文
posted @ 2019-08-18 17:27 尘世中一个迷途小书童 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题目:二叉排序树最近公共祖先 注: 采用递归来实现,利用二叉排序树的特点,如果根节点的值比p,q的值大,说明p,q都在根节点的左子树,递归遍历根节点的左子树;根节点的值比p,q值都小,同理,遍历右子树。当p,q的值在根节点两侧,说明此时根节点为p,q的最近公共节点。 阅读全文
posted @ 2019-08-18 17:19 尘世中一个迷途小书童 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目:验证一个二叉树是否为二叉排序树 注: 采用遍历二叉树的中序遍历,如果结果为排序,则说明该二叉树是二叉排序树 阅读全文
posted @ 2019-08-18 16:54 尘世中一个迷途小书童 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 一、如何解决数据库高并发 1、缓存式Web应用程序架构 2、增加Redis缓存数据库 3、增加数据库索引 4、页面静态化 5、使用存储过程 6、MySQL主从读写分离 7、分表分库 8、负载均衡集群。负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。 二、Redis并发竞争问题解决 阅读全文
posted @ 2019-08-17 20:18 尘世中一个迷途小书童 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一、应用场景 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。 1、网站数据:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。 2、缓存:适合作为信息基础设施的缓存层。 阅读全文
posted @ 2019-08-17 19:56 尘世中一个迷途小书童 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一、数据库的三种范式 第一范式:数据库表的每一列都是不可分割的基本数据项。 第二范式:数据库表中的每个实例或行必须可以被惟一地区分,即主键。 第三范式:要求数据库表中不包含已在其它表中已包含的非主关键字信息,即外键。 二、存储过程 存储过程是一个可编程的函数,它在数据库中创建并保存。 优点有: 1、 阅读全文
posted @ 2019-08-17 17:11 尘世中一个迷途小书童 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目:返回滑动窗口中的最大值 阅读全文
posted @ 2019-08-16 20:41 尘世中一个迷途小书童 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目:返回数据流中的第K大元素 注: 构建一个小顶堆,大小为k,每次往里压入数据,第k大元素即为堆顶元素 阅读全文
posted @ 2019-08-16 20:30 尘世中一个迷途小书童 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目:判断大、中、小括号是否合法。“()”、"([)]"、"{(([])}" 阅读全文
posted @ 2019-08-16 19:54 尘世中一个迷途小书童 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目:反转一个链表 注: python超简洁版的,值得学习参考 阅读全文
posted @ 2019-08-16 16:45 尘世中一个迷途小书童 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 题目:如何得到一个数据流中的中位数? 注:使用一个大顶堆和一个小顶堆来实现,大顶堆存储左半部分小的数,小顶堆存储右半部分大的数。插入数时,如果数量为偶数,先插入小顶堆,获取堆顶最小值,然后将其插入大顶堆;如果数量为奇数,先插入小顶堆,获取堆顶最大值,然后将其插入小顶堆。本题大顶堆是用小顶堆实现,将元 阅读全文
posted @ 2019-08-15 22:27 尘世中一个迷途小书童 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目:输入n个整数,找出其中的最小的k个数。 注:使用大顶堆来实现,因为python中只有小顶堆的库,所以对列表的整数取反即可用小顶堆的库实现一个大顶堆,最后将结果再取反。 阅读全文
posted @ 2019-08-15 21:58 尘世中一个迷途小书童 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 注: 方法1:可以通过一个字典,遍历一遍数组,统计出各个数字出现的次数,然后输出次数超过一半的数字 方法2:先取一个目标数,如第一个数字,往后遍历,使用一个变量count进行计数。如果再次出现,则count+1,如果出现其他数字, 阅读全文
posted @ 2019-08-15 20:33 尘世中一个迷途小书童 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 注: 使用三个指针,一个指向合并链表,另两个分别用来遍历待排序的链表,比较两个链表当前节点的大小,使第一个指针指向小的节点,当前节点指针往后遍历一个,直到两个链表其中一个遍历完,然后让第一个指针指向未完列表,拼接起来。 阅读全文
posted @ 2019-08-15 20:14 尘世中一个迷途小书童 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 注: 分三种情况: 1、链表头节点为空或只有一个节点,此时直接返回头节点即可 2、链表只有两个节点,此时只要反转一次,然后返回尾结点即可 3、大于等于3个节点,使用三个指针分别指向当前节点,前一个节点和后一个节点,每次前 阅读全文
posted @ 2019-08-14 20:05 尘世中一个迷途小书童 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目:如果一个链表中包含环,如何找出环的入口节点。 注: 本题要找出环的入口节点,主要分三步: 1、判断该链表是否有环(使用快慢指针,如果相遇则证明有环) 2、如果有环,则快慢指针的相遇点必在换内,这一步判断换内节点总数(从该节点遍历,直到回到该节点的长度) 3、使用两个指针,第一个指针先走环内节点 阅读全文
posted @ 2019-08-14 19:53 尘世中一个迷途小书童 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,输出该链表中倒数第k个节点。 注: 使用两个指针,一个指针先走k步,然后两个指针同时走,当前一个指针到达链表尾部的时候,后一个指针指向的就是倒数第k个节点。本题要注意输入数据的判读,头节点是否为空,k是否大于0以及k是否小于链表总长度。 阅读全文
posted @ 2019-08-14 19:46 尘世中一个迷途小书童 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 注: 使用两个指针,从前、后两个方向开始遍历,当前方的指针遇到奇数时,说明所在位置正确,继续往后遍历,当遇到偶数时,与后面遍历到的奇数进行交换,直到两个指针相遇。 阅读全文
posted @ 2019-08-14 19:33 尘世中一个迷途小书童 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目:给定单向链表的头指针和一个节点指针,在O(1)时间内删除链表节点。 注: 情况1:删除的是头节点,直接返回head.next。(这种情况包含链表只有一个头节点的情况) 情况2:删除的是链表的最后一个节点,需要先遍历链表,获取要删除节点的前驱节点,然后将该节点指针指向None,删除节点 情况3: 阅读全文
posted @ 2019-08-14 10:46 尘世中一个迷途小书童 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目:输入数字n,按顺序打印从1到最大的n位十进制数。(大整数问题) 注: list_plus_1:用列表模拟字符串,该函数用来实现数值加1的操作,最后输出字符串时,只需要将列表拼接输出即可 is_max:用于判断该当前列表表示的数是否为要输出的最大数9999...999,如果达到最大,返回True 阅读全文
posted @ 2019-08-14 10:33 尘世中一个迷途小书童 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目:实现函数Power,求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 注: 如果n为偶数,则只需要计算b的n/2次方即可,然后平方。如果n为奇数,转为b乘以n的偶数次方,然后利用递归。终止条件为n为0时,返回1. 阅读全文
posted @ 2019-08-14 09:38 尘世中一个迷途小书童 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,输入一个整数,输出该二进制表示中1的个数。 注: 方法1:通过1左移的方式,依次与n进行&操作,即可计算出所有位中1的个数。时间复杂度为O(n),n为整数的二进制位数。 方法2:比较巧妙的做法,通过与(n-1)进行&操作,可以将n最后一位的1变为0,通过判断n最终为不为0判断1 阅读全文
posted @ 2019-08-13 21:33 尘世中一个迷途小书童 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目:给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,且都大于1),每段绳子的长度记为k[0],k[1],...k[m]。请问k[0]*k[1]*k[2]*...*k[m]可能的最大成绩是多少? 注: 使用动态规划,products[i]存储长度为i的绳子最大乘积。本地巧妙在于,整段绳子n 阅读全文
posted @ 2019-08-13 21:27 尘世中一个迷途小书童 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目:地上有一个m行n列d方格。一个机器人从坐标(0,0)的格子开始移动,它每次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。 注: visited:存储该位置是否已经走过 check():验证该格子是否可以走 get_nums_sum():计算该格子坐标和 move 阅读全文
posted @ 2019-08-13 21:16 尘世中一个迷途小书童 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 一、Nginx用途 Nginx是一个高性能的HTTP和反向代理服务器,及电子邮件(IMAP/POP3)代理服务器,同时也是一个非常高效的反向代理、负载平衡。 二、Nginx的优点 1、跨平台、配置简单 2、非阻塞、高并发连接。处理2~3万并发连接数 3、内存消耗小。Nginx采取了分阶段资源分配技术 阅读全文
posted @ 2019-08-13 15:38 尘世中一个迷途小书童 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一、TCP报头 二、连接管理机制 三次握手 1、TCP服务器进程先创建传输控制块TCB,此时服务器就进入了 LISTEN(监听)状态 2、TCP客户端进程也是先创建传输控制块TCB, 然后向服务器发出连接请求报文,此时报文首部中的同步标志位SYN=1, 同时选择一个初始序列号 seq = x, 此时 阅读全文
posted @ 2019-08-12 23:32 尘世中一个迷途小书童 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目:判断一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵汇总的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 注: 遍历矩阵中的每个字符,每次调用回溯函数,进行判断。如果存在,返回True。 回溯函数中止条件 阅读全文
posted @ 2019-08-12 21:51 尘世中一个迷途小书童 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 注: 1、可以遍历整个数组,然后取最小值,时间复杂度为O(n) 2、利用旋转数组的特点。使用二分查找的思想,如果中间的数比begin大,说明最小的数在后半部分;如果小, 阅读全文
posted @ 2019-08-12 21:36 尘世中一个迷途小书童 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目1:求斐波那契数列的第n项 题目2:青蛙跳台问题 注: 这两个题目都是使用动态规划的思想解决。可以使用一个数组存储所有结果。 阅读全文
posted @ 2019-08-12 20:42 尘世中一个迷途小书童 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目1:用两个栈实现一个队列 注: 一个栈用来模拟入队,另一个栈模拟出队。如果栈2为空,从栈1将数据移到栈2。栈1和栈2全为空表示队列为空。 阅读全文
posted @ 2019-08-12 20:38 尘世中一个迷途小书童 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一棵二叉树和其中其中的一个节点,如何找出中序遍历的下一个节点?树中的节点除了有两个分别指向左右子节点的指针,还有一个指向父节点的指针。 注: 中序遍历下一个节点有三种情况 1、如果该节点有右子树,下一个节点为右子树的最左节点 2、如果该节点没有右子树,该节点为父节点的左子树,下一个节点为其 阅读全文
posted @ 2019-08-12 20:33 尘世中一个迷途小书童 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。 注: 使用栈存储遍历链表的每个节点,然后打印输出栈 阅读全文
posted @ 2019-08-12 19:37 尘世中一个迷途小书童 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We%20are%20happy.”。 注: 由于python中不能直接在字符串上操作,需要先转为list。先遍历一遍字符串,统计空格的个数。然后扩展列表长度。用两个指针,一个指向字符串最后 阅读全文
posted @ 2019-08-12 19:33 尘世中一个迷途小书童 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该数组。 注: 从右上角开始查找,如果查到的值比目标值小,往下搜索,如果查到的值比目标值大,往左搜索。时间复杂度O(m+n) 阅读全文
posted @ 2019-08-12 19:24 尘世中一个迷途小书童 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0~n-1的范围内。数字中的某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出时重复的数字2或者3。 方法1:使用字典遍历一遍数字 阅读全文
posted @ 2019-08-12 19:18 尘世中一个迷途小书童 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 要想使用Hadoop的MapReduce,必须将进行统计的文件内容保存到HDFS中 对于MapReduce而言,实际上是属于两个层次的概念: ◎Map阶段:对数据的处理阶段 ◎Reduce阶段:对处理后的数据进行计算 范例:定义一个要进行统计的原始文件 Hello MLDN Hello Yootk 阅读全文
posted @ 2019-08-12 18:40 尘世中一个迷途小书童 阅读(269) 评论(0) 推荐(0) 编辑
摘要: storageID=DS-7ec21159-9ae0-4664-b532-fab4ff6ff359clusterID=CID-ac3385fe-7f0b-4cbc-801a-75aa49bc9cbccTime=0datanodeUuid=72ecac54-f44c-4312-afc9-f34347f 阅读全文
posted @ 2019-08-12 17:06 尘世中一个迷途小书童 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 问题描述:配置好的ftp服务器,使用本地内网ip可以访问成功,使用外网访问失败 解决方法;1、阿里云控制台,防火墙配置规则,添加20,21两个端口 2、进入服务器,开启winserver防火墙,再关闭保存退出。(这个步骤有时候很恶心,你不打开再关掉,是不行的) 阅读全文
posted @ 2019-08-01 20:57 尘世中一个迷途小书童 阅读(327) 评论(0) 推荐(0) 编辑