摘要: 题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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 阅读全文
posted @ 2017-04-11 03:04 雪浪snowWave 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 思路:排序找中间 阅读全文
posted @ 2017-04-11 03:00 雪浪snowWave 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路:中序遍历,计数判断k 阅读全文
posted @ 2017-04-11 02:57 雪浪snowWave 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现两个函数,分别用来序列化和反序列化二叉树 思路:层顺遍历二叉树 并保存所有的空节点 /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(i 阅读全文
posted @ 2017-04-11 02:53 雪浪snowWave 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 更容易理解的思路,用计数器的方式 和队列 计数每次出队的节点数 等于这一层的节点数时 表明本层遍历完了 思路:设置两个指针,一个指向当前层最右,另一个指向现在遍历的节点,,基本就是bfs。。。加一个换行判断 阅读全文
posted @ 2017-04-11 02:50 雪浪snowWave 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类 更好理解的思路:在按层遍历二叉树(上一题)的基础上 加个奇数偶数的判断就行 思路:leetcode上的最优解,思路就是dfs,而不是一层一层遍历,层数是 阅读全文
posted @ 2017-04-11 02:47 雪浪snowWave 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路:典型递归。。。 阅读全文
posted @ 2017-04-11 02:44 雪浪snowWave 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针 思路:.二叉树为空,则返回空;节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点 节点不是根节点。如果该 阅读全文
posted @ 2017-04-11 02:42 雪浪snowWave 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:难点在于指针的控制。。。。 阅读全文
posted @ 2017-04-11 02:39 雪浪snowWave 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目:一个链表中包含环,请找出该链表的环的入口结点。 思路:先判断有没有环,设快慢指针,快的走两步,慢的走一步,直到指向同一个节点,此时再让快指针从头走,慢指针从刚才的位置,两指针一起走,直到指向一致 来更新一个鬼畜的解 补一问,判断是是否有环 阅读全文
posted @ 2017-04-11 02:34 雪浪snowWave 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 思路:基于map的思路,,类型题 阅读全文
posted @ 2017-04-11 02:29 雪浪snowWave 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 思路:正则匹配。。但要知道那些情况符合 阅读全文
posted @ 2017-04-11 02:28 雪浪snowWave 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 思路:模拟正则表达式。。。 阅读全文
posted @ 2017-04-11 02:26 雪浪snowWave 阅读(149) 评论(0) 推荐(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]。不能使用除法。 思路:基于动态规划,先求i-1个和后n-i个乘积,保存之后求B[i] 阅读全文
posted @ 2017-04-11 02:24 雪浪snowWave 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 思路:基于map的思路。。 阅读全文
posted @ 2017-04-11 02:18 雪浪snowWave 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 思路:简单正则确认是否合法,然后转换成数字 阅读全文
posted @ 2017-04-11 02:16 雪浪snowWave 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:只能用位运算。。。模仿十进制的计算步骤。比如计算5+7,5-101,7-111。第一步相加各位,不算进位,得010,二进制每位相加就是^操作,第二步计算进位值,得到1010,相当于各位与再左移一位,(101& 阅读全文
posted @ 2017-04-11 02:11 雪浪snowWave 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:一般题目这样要求就是要用位运算。。这里利用短路的特点。n==0时,res&(Sum_Solution(n-1))只执行前面的,作为递归出口 阅读全文
posted @ 2017-04-11 02:04 雪浪snowWave 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目:让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友,求最后一个 思路:环的模拟,每 阅读全文
posted @ 2017-04-11 01:58 雪浪snowWave 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目:决定大小王可以看成任何数字,并且A看作1,J为11,Q为12,K为13,判断能否抽到顺子 思路:先排序,再统计0的个数,最后统计相邻的空缺,空缺总数小于等于0的总数,成功,否则失败,若有非0数字重复出现,则必不连然续, 阅读全文
posted @ 2017-04-11 01:18 雪浪snowWave 阅读(172) 评论(0) 推荐(0) 编辑