牛客网
负雪明烛
北京邮电大学计算机硕士毕业,阿里巴巴工程师。坚持写算法题博客 6 年,博客在全网获得数百万阅读。微信公众号:「负雪明烛」
展开
-
【LeetCode】689. Maximum Sum of 3 Non-Overlapping Subarrays 解题报告(Python)
作者: 负雪明烛id: fuxuemingzhu个人博客: http://fuxuemingzhu.cn/题目地址: https://leetcode.com/problems/maximum-sum-of-3-non-overlapping-subarrays/description/题目描述:In a given array nums of positive intege...原创 2018-10-05 22:30:51 · 2063 阅读 · 0 评论 -
【剑指Offer】左旋转字符串 解题报告(Python)
【剑指Offer】左旋转字符串 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S...原创 2018-03-26 17:39:13 · 1385 阅读 · 2 评论 -
【剑指Offer】翻转单词顺序列 解题报告(Python)
【剑指Offer】翻转单词顺序列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“s...原创 2018-03-26 16:35:42 · 1864 阅读 · 0 评论 -
【剑指Offer】和为S的连续正数序列 解题报告(Python)
【剑指Offer】和为S的连续正数序列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两...原创 2018-03-26 15:11:12 · 2665 阅读 · 3 评论 -
【剑指Offer】和为S的两个数字 解题报告(Python)
【剑指Offer】和为S的两个数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,...原创 2018-03-25 17:32:44 · 1353 阅读 · 0 评论 -
【剑指Offer】数组中只出现一次的数字 解题报告(Python)
【剑指Offer】数组中只出现一次的数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解题方法这个题和260. Single Number III完...原创 2018-03-25 16:39:41 · 2078 阅读 · 0 评论 -
【剑指Offer】平衡二叉树 解题报告(Python & C++)
【剑指Offer】平衡二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题方法平衡二叉树的定义是任何节点的左右子树高度差都不超过1的二叉树。按照定义,很容易得出获得左右子树高度,然后判断。递归写...原创 2018-03-25 16:08:58 · 1946 阅读 · 0 评论 -
【剑指Offer】最小的K个数 解题报告(Python)
【剑指Offer】最小的K个数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。解题方法这个是面试被问过的题目,做法就是使用一个堆...原创 2018-03-21 11:44:15 · 1669 阅读 · 0 评论 -
【剑指Offer】数组中出现次数超过一半的数字 解题报告(Python)
【剑指Offer】数组中出现次数超过一半的数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数...原创 2018-03-21 11:24:31 · 2695 阅读 · 0 评论 -
【剑指Offer】二叉树的深度 解题报告(Python & C++)
【剑指Offer】二叉树的深度 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题方法找到左右子树最大深度+1即可,递归的终止条件...原创 2018-03-24 19:07:04 · 669 阅读 · 0 评论 -
【剑指Offer】数字在排序数组中出现的次数 解题报告(Python)
【剑指Offer】数字在排序数组中出现的次数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:统计一个数字在排序数组中出现的次数。解题方法看到有序,使用二分查找。使用二分找到这段连续的k的最左边的位置,最右边的位置,两个相减+1就是长度了。代码...原创 2018-03-24 19:03:37 · 1232 阅读 · 2 评论 -
【剑指Offer】二叉搜索树与双向链表 解题报告(Python)
【剑指Offer】二叉搜索树与双向链表 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题方法这个题还真的不好想,不过看到BST...原创 2018-03-20 11:31:22 · 2352 阅读 · 0 评论 -
【剑指Offer】复杂链表的复制 解题报告(Python)
【剑指Offer】复杂链表的复制 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数...原创 2018-03-20 10:50:10 · 2389 阅读 · 2 评论 -
【剑指Offer】二叉树中和为某一值的路径 解题报告(Python)
【剑指Offer】二叉树中和为某一值的路径 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题方法其实...原创 2018-03-20 09:58:35 · 1562 阅读 · 0 评论 -
【剑指Offer】扑克牌顺子 解题报告(Python)
【剑指Offer】扑克牌顺子 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,...原创 2018-03-26 18:32:49 · 3275 阅读 · 4 评论 -
【剑指Offer】孩子们的游戏(圆圈中最后剩下的数) 解题报告(Python)
【剑指Offer】孩子们的游戏(圆圈中最后剩下的数) 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋...原创 2018-03-26 19:49:28 · 2927 阅读 · 0 评论 -
【剑指Offer】求1+2+3+...+n 解题报告(C++)
【剑指Offer】求1+2+3+…+n 解题报告(C++)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题方法题目一堆限制,就是让我们...原创 2018-03-26 20:08:31 · 1464 阅读 · 0 评论 -
【剑指Offer】滑动窗口的最大值 解题报告(Python)
【剑指Offer】滑动窗口的最大值 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{...原创 2018-03-28 21:48:47 · 1051 阅读 · 0 评论 -
【剑指Offer】字符流中第一个不重复的字符 解题报告(Python)
【剑指Offer】字符流中第一个不重复的字符 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“goog...原创 2018-03-28 21:43:23 · 1596 阅读 · 0 评论 -
【剑指Offer】数据流中的中位数 解题报告(Python)
【剑指Offer】数据流中的中位数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数...原创 2018-03-28 12:45:33 · 1825 阅读 · 0 评论 -
【剑指Offer】二叉搜索树的第k个结点 解题报告(Python)
【剑指Offer】二叉搜索树的第k个结点 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:给定一颗二叉搜索树,请找出其中的第k大的结点。 例如, 5 / \ 3 ...原创 2018-03-28 12:34:48 · 1409 阅读 · 0 评论 -
【剑指Offer】序列化二叉树 解题报告(Python)
【剑指Offer】序列化二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:请实现两个函数,分别用来序列化和反序列化二叉树解题方法同样是LeetCode的原题,这里再复习一遍。采用Leetcode的官方序列化二叉树的方式,采用#表示空节点,树的前序...原创 2018-03-28 11:44:07 · 2273 阅读 · 2 评论 -
【剑指Offer】把二叉树打印成多行 解题报告(Python)
【剑指Offer】把二叉树打印成多行 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。解题方法比上题的之字形遍历还容易点,直接层次遍历即可。下面的这个递归的解法要背会。代码:# -...原创 2018-03-28 11:28:21 · 721 阅读 · 0 评论 -
【剑指Offer】按之字形顺序打印二叉树 解题报告(Python)
【剑指Offer】按之字形顺序打印二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。解题方法层次遍历的...原创 2018-03-28 11:24:21 · 1429 阅读 · 0 评论 -
【剑指Offer】二叉树的下一个结点 解题报告(Python)
【剑指Offer】二叉树的下一个结点 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题方法分析二叉树的下一个节点,...原创 2018-03-28 10:30:53 · 2401 阅读 · 0 评论 -
【剑指Offer】删除链表中重复的结点 解题报告(Python)
【剑指Offer】删除链表中重复的结点 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4-...原创 2018-03-28 10:03:18 · 3093 阅读 · 0 评论 -
【剑指Offer】链表中环的入口结点 解题报告(Python)
【剑指Offer】链表中环的入口结点 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一个链表中包含环,请找出该链表的环的入口结点。解题方法就是leetcode的142. Linked List Cycle II题目,使用快慢指针,如果相遇了,那么把一...原创 2018-03-27 21:29:12 · 1465 阅读 · 0 评论 -
【剑指Offer】构建乘积数组 解题报告(Python)
【剑指Offer】构建乘积数组 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A1…A[i-1]*A[i+1]…*A[n-1]。不能使用除法。解...原创 2018-03-27 20:16:22 · 799 阅读 · 0 评论 -
【剑指Offer】数组中重复的数字 解题报告(Python & C++)
【剑指Offer】数组中重复的数字 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,...原创 2018-03-26 21:33:25 · 961 阅读 · 0 评论 -
【剑指Offer】不用加减乘除做加法 解题报告(Java)
【剑指Offer】不用加减乘除做加法 解题报告(Java)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题方法这就是LeetCode的Sum of Two Integers题目,Python版本...原创 2018-03-26 20:23:15 · 621 阅读 · 0 评论 -
【剑指Offer】二叉搜索树的后序遍历序列 解题报告(Python)
【剑指Offer】二叉搜索树的后序遍历序列 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题方法我们都...原创 2018-03-20 09:47:23 · 2372 阅读 · 0 评论 -
【剑指Offer】从上往下打印二叉树 解题报告(Python)
【剑指Offer】从上往下打印二叉树 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题方法使用队列保存,每次把队列里的原先内容进行出队列操作,再把每个元素的非空左右子节点进入队列。因此即可得到每...原创 2018-03-19 19:28:11 · 1294 阅读 · 0 评论 -
【剑指Offer】矩阵覆盖 解题报告(Python)
【剑指Offer】矩阵覆盖 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?Ways还是费布拉奇数列。主要是明白这个思想呀...原创 2018-03-09 20:04:00 · 856 阅读 · 0 评论 -
【剑指Offer】变态跳台阶 解题报告(Python)
【剑指Offer】变态跳台阶 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。Ways数学归纳法可以得出这个题的结果是2的n-1次方。来...原创 2018-03-09 18:58:54 · 2898 阅读 · 4 评论 -
【剑指Offer】10- II. 青蛙跳台阶问题 解题报告(Python & C++)
【剑指Offer】跳台阶 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。Ways其实就是费布拉奇数列的翻版。只有一个台阶时有1种跳法,有两个台阶时有2中跳法。...原创 2018-03-09 18:37:34 · 541 阅读 · 0 评论 -
【剑指Offer】10- I. 斐波那契数列 解题报告(Python & C++)
【剑指Offer】斐波那契数列 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39Ways直接递归解法由于有很多的重复计算,因此会超时。 所以可以使用字...原创 2018-03-09 18:29:08 · 1774 阅读 · 0 评论 -
【剑指Offer】旋转数组中的最小数字 解题报告(Python)
【剑指Offer】旋转数组中的最小数字 解题报告(Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2...原创 2018-03-09 18:04:06 · 802 阅读 · 0 评论 -
【剑指Offer】09. 用两个栈实现队列 解题报告(python & C++)
【剑指Offer】用两个栈来实现队列 解题报告(python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。Ways第一个栈临时保存插入的数据,当调用弹出函数的时候,如果stack2不为空...原创 2018-03-09 16:34:22 · 3596 阅读 · 0 评论 -
【剑指Offer】06. 从尾到头打印链表 解题报告(Java & python)
【剑指Offer】从尾到头打印链表 解题报告标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:输入一个链表,从尾到头打印链表每个节点的值。Ways先存到ArrayList里再反转,不算作弊吧。/*** public class ListNode {* ...原创 2017-04-20 18:37:03 · 870 阅读 · 1 评论 -
【剑指Offer】04. 二维数组中的查找 解题报告(Java & Python & C++)
【剑指Offer】二维数组中的查找 解题报告(Java & Python)标签(空格分隔): LeetCode题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是...原创 2017-04-20 15:26:20 · 825 阅读 · 0 评论