刷题记录
YAYA776
这个作者很懒,什么都没留下…
展开
-
牛客刷题二叉树之在二叉树中找到两个节点的最近公共祖先节点
题目描述给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。牛客链接:https://www.nowcoder.com/practice/e0cc33a83afe4530bcec46eba3325116?tpId=117&&tqId=35027&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking解题思路:用两种方式,递归和非递归原创 2020-10-28 13:43:46 · 296 阅读 · 0 评论 -
牛客刷题二叉树之二叉树的最大路径和
题目描述给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少。这个路径的开始节点和结束节点可以是二叉树中的任意节点例如:给出以下的二叉树,返回的结果为6牛客链接:https://www.nowcoder.com/practice/da785ea0f64b442488c125b441a4ba4a?tpId=117&&tqId=34927&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/ques原创 2020-10-27 23:25:10 · 351 阅读 · 0 评论 -
牛客刷题二叉树之实现二叉树先序,中序和后序遍历
题目描述分别按照二叉树先序,中序和后序打印所有的节点。牛客链接:https://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362?tpId=117&&tqId=35075&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking解题思路:用两种思路递归和非递归代码一:递归/** * struct Tree原创 2020-10-27 22:29:02 · 425 阅读 · 0 评论 -
牛客刷题链表之合并 k 个已排序的链表
题目描述合并k 个已排序的链表并将其作为一个已排序的链表返回。分析并描述其复杂度。牛客链接:https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6?tpId=117&&tqId=34972&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking解题思路:有两种解题思路:第一种直接每次比较k个链表中的头,原创 2020-10-25 23:02:52 · 248 阅读 · 0 评论 -
leetcode刷题之快乐数
编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。leetcode链接:https://leetcode-cn.com/problems/happy-number/解题思路:用map存数据,然后判断新的sum有没有存在,看是否进入循环原创 2020-10-17 13:14:59 · 138 阅读 · 0 评论 -
牛客刷题链表之链表中的节点每k个一组翻转
题目描述牛客链接:https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e?tpId=117&&tqId=34971&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking解题思路:先遍历链表,得出链表节点个数然后用两层循环,第一层控制翻转的次数,第二层控制在一定区间内的链表节点全部翻转用两个变量来分原创 2020-10-16 00:04:17 · 269 阅读 · 1 评论 -
牛客刷题链表之两个链表生成相加链表
题目描述假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。牛客链接:https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=117&&tqId=35073&rp=原创 2020-10-14 21:07:07 · 295 阅读 · 0 评论 -
牛客刷题链表之重排链表
题目描述牛客链接:https://www.nowcoder.com/practice/3d281dc0b3704347846a110bf561ef6b?tpId=117&&tqId=34923&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking解题思路:提供两种思路,第一种用辅助栈第二种直接原地算法代码一:用辅助栈package mainimport . "nc_to原创 2020-10-14 00:23:38 · 289 阅读 · 0 评论 -
牛客刷题回溯法之矩阵中的路径 and 机器人的运动范围
题目描述一矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。牛客链接:https://www.nowcoder.com/practice/c6原创 2020-10-05 21:54:12 · 1492 阅读 · 0 评论 -
牛客刷题之圆圈中最后剩下的数
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名额有限哦!!_)。请你试着想下,哪个小朋友会得原创 2020-10-04 23:54:32 · 207 阅读 · 0 评论 -
牛客刷题字符串之正则表达式匹配
题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配牛客链接:https://www.nowcoder.com/practice/45327ae22b7b413ea21df13ee7d6429c?tpId=13&&tqId=11205&原创 2020-10-04 19:55:26 · 209 阅读 · 0 评论 -
牛客刷题二叉树之对称二叉树
题目描述请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。牛客链接:https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=13&&tqId=11211&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:用原创 2020-09-29 17:57:09 · 197 阅读 · 0 评论 -
牛客刷题之滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,原创 2020-09-29 15:45:06 · 191 阅读 · 0 评论 -
牛客刷题链表之删除链表中重复的节点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5牛客链接:https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&&tqId=11209&rp=1&ru=/ta/coding-interviews&原创 2020-09-28 22:14:57 · 135 阅读 · 0 评论 -
牛客刷题二叉树之二叉树中和为某一值的路径
题目描述输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。牛客链接:https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca?tpId=13&&tqId=11177&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/qu原创 2020-09-28 16:59:01 · 185 阅读 · 0 评论 -
牛客刷题数组之和为S的两个数字 and 和为S的连续正数序列
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。牛客链接:https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b?tpId=13&&tqId=11195&rp=1&ru=/ta/coding-interviews&qru=/ta/codin原创 2020-09-28 13:47:28 · 137 阅读 · 0 评论 -
牛客刷题二叉树之按之字形顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。牛客链接:https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0?tpId=13&&tqId=11212&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question原创 2020-09-27 23:26:15 · 225 阅读 · 0 评论 -
牛客刷题二叉树之树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)牛客链接:https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88?tpId=13&&tqId=11170&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:1、首先设置标志位re原创 2020-09-27 19:27:14 · 136 阅读 · 0 评论 -
牛客刷题二叉树之重建二叉树 and 二叉搜索树的后序遍历序列
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。牛客链接:https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&&tqId=11157&rp=1&ru=/ta/coding-int原创 2020-09-27 17:10:32 · 198 阅读 · 0 评论 -
牛客刷题二叉树之二叉搜索树与双向链表 and 二叉搜索树的第k个结点
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。牛客链接:https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&&tqId=11179&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:原创 2020-09-27 16:12:38 · 159 阅读 · 0 评论 -
牛客刷题二叉树之二叉树的下一个节点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。牛客链接:https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e?tpId=13&&tqId=11210&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rank原创 2020-09-26 23:39:32 · 140 阅读 · 0 评论 -
牛客刷题之二进制中1的个数
题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。牛客链接:https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&&tqId=11164&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:采用两种方法:第一种,为了避免死循环,我原创 2020-09-26 22:57:27 · 131 阅读 · 0 评论 -
牛客刷题二叉树之平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树牛客链接:https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&&tqId=11192&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:有两原创 2020-09-26 18:39:54 · 169 阅读 · 0 评论 -
牛客刷题之不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。牛客链接:https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215?tpId=13&&tqId=11201&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:链接:https://www.no原创 2020-09-26 17:22:41 · 146 阅读 · 0 评论 -
牛客刷题之跳台阶 and 变态跳台阶
题目描述一跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。牛客链接:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&&tqId=11161&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking原创 2020-09-26 17:11:28 · 136 阅读 · 0 评论 -
牛客刷题数组之构建乘积数组
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。牛客链接:https://www.nowcoder.com/practice/94a4d381a68b4原创 2020-09-26 16:45:42 · 125 阅读 · 0 评论 -
牛客刷题数组之数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,size<=2*10^5示例1输入1,2,3,4,5,6,7,0输出7牛客链接:https原创 2020-09-25 23:13:42 · 169 阅读 · 0 评论 -
牛客刷题栈之包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。牛客链接:https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&&tqId=11173&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:用一个栈d原创 2020-09-25 16:58:03 · 110 阅读 · 0 评论 -
牛客刷题斐波那契数列之斐波那契数列 and 矩形覆盖
题目描述一斐波那契数列大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39牛客链接:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&&tqId=11160&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/questio原创 2020-09-25 14:34:45 · 264 阅读 · 0 评论 -
牛客刷题数据流之数据流中的中位数
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。牛客链接:https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1?tpId=13&&tqId=11216&rp=原创 2020-09-23 23:51:22 · 228 阅读 · 0 评论 -
牛客刷题字符流之字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。牛客链接:https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720?tpId=13&&tqId=11207&rp=1&原创 2020-09-23 23:03:53 · 161 阅读 · 0 评论 -
牛客刷题数组之数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。牛客链接:https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&&tqId=11181&rp=1&ru=/ta/coding-interviews&q原创 2020-09-23 22:26:51 · 148 阅读 · 0 评论 -
牛客刷题数组之数字在升序数组中出现的次数
题目描述统计一个数字在升序数组中出现的次数。牛客链接:https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId=13&&tqId=11190&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking解题思路:有三种方法:第一种是暴力解决,遍历得到k的次数第二种由于数组升序,使用二原创 2020-09-23 21:05:53 · 309 阅读 · 1 评论 -
牛客刷题之丑数
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。牛客链接:https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b?tpId=13&&tqId=11186&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-原创 2020-09-23 15:59:58 · 135 阅读 · 0 评论 -
牛客刷题数组之数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。牛客链接:https://www.nowcoder.com/practice/623a5ac0ea5b4e5f95552655361ae0a8?tpId=13&&tqId=11203&rp=1&ru原创 2020-09-23 12:54:02 · 133 阅读 · 0 评论 -
牛客刷题数组之数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。牛客链接:https://www.nowcoder.com/practice/e02fdb54d7524710a7d664d082bb7811?tpId=13&&tqId=11193&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking代码一:暴力解决,通过两层循环原创 2020-09-22 20:18:07 · 126 阅读 · 0 评论 -
牛客刷题字符串之第一个只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)牛客链接:https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=13&&tqId=11187&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-in原创 2020-09-22 19:28:38 · 189 阅读 · 0 评论 -
牛客刷题之把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。牛客链接:https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993?tpId=13&&tqId=11185&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-int原创 2020-09-22 16:00:59 · 180 阅读 · 0 评论 -
牛客刷题之整数中1出现的次数
题目描述求出1-13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1-13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。牛客链接:https://www.nowcoder.com/practice/bd7f978302044eee894445e244c7eee6?tpId=13&&tq原创 2020-09-21 19:01:17 · 153 阅读 · 0 评论 -
牛客刷题快排之寻找第K大的数
题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。测试样例[1,3,5,2,2],5,3返回:2牛客链接:https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf?tpId=188&&tqId=35311&rp=1&ru=/ta/job-code-high-wee原创 2020-09-20 15:43:51 · 424 阅读 · 0 评论