java面试大全

java面试大全

【LeetCode-面试算法经典-Java实现】----(生成括号)

Java技术问答yank 回复了问题 • 2 人关注 • 2 个回复 • 1191 次浏览 • 2015-12-25 02:55 • 来自相关话题

八成Java开发者解答不了的问题

Java技术问答萌奇帝 发表了文章 • 0 个评论 • 269 次浏览 • 2015-09-06 16:34 • 来自相关话题

几个月前,我们在一个小型网站上发布了一个称为Java“死亡竞赛”的新项目。测验发布后,超过20000位开发者参加了测验。网站以20道关于Java的多选题为主。我们得到了众多开发者的测验统计数据,今天,我们非常乐意将其中的一些数据和答案与你们分享。 我们从20...
查看更多

7个去伪存真的JavaScript面试题

Java技术问答萌奇帝 发表了文章 • 0 个评论 • 255 次浏览 • 2015-09-06 16:31 • 来自相关话题

上周,我发表了《C#程序员的7个面试问题》。这次我要说的是如何淘汰那些滥竽充数的JavaScript程序员。 你会惊讶于居然有这么多人来面试工作,并且他们的简历描述得都貌似很牛逼的样子。但是如果你问他们相关问题的话,你就会发现他们对此一无所知。我不 知道他们...
查看更多

Java面试题----树的子结构

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 388 次浏览 • 2015-08-05 19:52 • 来自相关话题

题目:输入两棵二叉树A 和B,判断B 是不是A 的子结构。 二叉树结点的定义: /**  * 二叉树的树结点  */  public static class BinaryTreeNode {     int value;     BinaryTreeN...
查看更多

Java面试题----二叉树的镜像

Java技术问答Codeyuan 发表了文章 • 1 个评论 • 338 次浏览 • 2015-08-05 19:48 • 来自相关话题

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 二叉树结点的定义: [quote] [list=1] /**   * 二叉树的树结点   */ public static class BinaryTreeNode {     i...
查看更多

Java面试题----顺时针打印矩阵

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 963 次浏览 • 2015-08-05 19:46 • 来自相关话题

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次扫印出每一个数字 解题思路: 把打印一圈分为四步:第一步从左到右打印一行,第二步从上到下打印一列,第三步从右到左打印一行,第四步从下到上打印一列。每一步我们根据起始坐标和终止坐标用一个循环就能打印出...
查看更多

java面试题---- 包含min 函数的钱

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 342 次浏览 • 2015-08-05 19:19 • 来自相关话题

题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小素的min 函数。在该栈中,调用min、push 及pop的时间复杂度都是0(1) 解题思路: 把每次的最小元素(之前的最小元素和新压入战的元素两者的较小值)都保存起来放到另外一个辅助栈里 如...
查看更多

java面试题----栈的压入、弹出

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 955 次浏览 • 2015-08-05 19:17 • 来自相关话题

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 解题思路: 解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从...
查看更多

Java面试题----从上往下打印二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 293 次浏览 • 2015-08-05 19:15 • 来自相关话题

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左向右的顺序打印。 二叉树结点的定义: public static class BinaryTreeNode {     int value;     BinaryTreeNode le...
查看更多

Java面试题----二叉搜索树的后序遍历序列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 281 次浏览 • 2015-08-05 19:14 • 来自相关话题

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true。否则返回false。假设输入的数组的任意两个数字都互不相同。 解题思路: 在后序遍历得到的序列中, 最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分: ...
查看更多

Java面试题----二叉树中和为某一值的路径

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 313 次浏览 • 2015-08-05 19:13 • 来自相关话题

题目:输入一棵二叉树和一个整数, 打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 二叉树结点的定义: public static class BinaryTreeNode {     in...
查看更多

Java面试题----复杂链表的复制

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 754 次浏览 • 2015-08-05 19:12 • 来自相关话题

题目:请实现函数ComplexListNode clone(ComplexListNode head),复制一个复杂链表。在复杂链表中,每个结点除了有一个next 域指向下一个结点外,还有一个sibling 指向链表中的任意结点或者null。 结点结构定...
查看更多

Java面试题----二叉搜索树与双向链表

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 447 次浏览 • 2015-08-05 19:08 • 来自相关话题

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 比如输入图4.12 中左边的二叉搜索树,则输出转换之后的排序现向链表。 57 结点定义: public...
查看更多

Java面试题----字符串的排列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 474 次浏览 • 2015-08-05 18:56 • 来自相关话题

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc。则打印出由字符a、b、c 所能排列出来的所有字符串abc、acb、bac 、bca、cab 和cba 。 解题思路: 把一个字符串看成由两部分组成:第一部分为它的第一个字符...
查看更多

Java面试题----数组中出现次数超过一半的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 992 次浏览 • 2015-08-05 18:55 • 来自相关话题

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 例子说明: 如输入一个长度为9 的数组{ 1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5 次,超过数组长度的一半,因此输出2 。 解题思路:...
查看更多

Java面试题----最小的k个数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 336 次浏览 • 2015-08-05 18:53 • 来自相关话题

题目: 输入n个整数,找出其中最小的k个数。 例子说明: 例如输入4 、5 、1、6、2、7、3 、8 这8 个数字,则最小的4 个数字是1 、2、3 、4 解题思路: 解法一:O(n)时间算法,只有可以修改输入数组时可用。 可以...
查看更多

java面试题----连续子数组的最大和

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 494 次浏览 • 2015-08-05 18:50 • 来自相关话题

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例子说明: 例如输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3...
查看更多

Java面试题----求从1到n的整数中1出现的次数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 1205 次浏览 • 2015-08-05 18:48 • 来自相关话题

题目:输入一个整数n求从1 到n这n个整数的十进制表示中1 出现的次数。 举例说明: 例如输入12 ,从1 到12 这些整数中包含1 的数字有1、10、11 和12,1 一共出现了5 次。 题解思路: 第一种:不夸虑时间效率的解法 ...
查看更多

Java面试题----把数组排成最小的数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 366 次浏览 • 2015-08-05 18:47 • 来自相关话题

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例子说明: 例如输入数组{3, 32, 321},则扫描输出这3 个数字能排成的最小数字321323。 解题思路: 第一种:直观解法 ...
查看更多

Java面试题----丑数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 464 次浏览 • 2015-08-05 18:45 • 来自相关话题

题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。求从小到大的顺序的第1500个丑数。 举例说明: 例如6、8 都是丑数,但14 不是,它包含因子7。习惯上我们把1 当做第一个丑数。 解题思路: 第一种:逐个判...
查看更多

Java面试题----第一个只出现一次的字符

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 292 次浏览 • 2015-08-05 18:44 • 来自相关话题

题目:在字符串中找出第一个只出现一次的字符。 解题思路: 第一种:直接求解: 从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符...
查看更多

Java面试题----数组中的逆序对

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 393 次浏览 • 2015-08-05 18:43 • 来自相关话题

题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 举例分析 例如在数组{7, 5, 6, 4 中, 一共存在5 个逆序对,分别是(7, 6)、(7,5),(7, 4...
查看更多

Java面试题----两个链表的第一个公共结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 352 次浏览 • 2015-08-05 18:34 • 来自相关话题

题目:输入两个链表,找出它们的第一个公共结点。 链表结点定义     /**      * 链表结点类      */     private static class ListNode {         int val;         ListNod...
查看更多

Java面试题----数字在排序数组中出现的次数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 291 次浏览 • 2015-08-05 18:33 • 来自相关话题

题目:统计一个数字:在排序数组中出现的次数。 举例说明 例如输入排序数组{ 1, 2, 3, 3, 3, 3, 4, 5}和数字3 ,由于3 在这个数组中出现了4 次,因此输出4 。 解题思路 利用改进的二分算法。  如何用二分查找算...
查看更多

Java面试题----二叉树的深度

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 519 次浏览 • 2015-08-05 18:32 • 来自相关话题

题目一:输入一棵二叉树的根结点,求该树的深度。从根结点到叶子点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 二叉树的结点定义 private static class BinaryTreeNode {     int val;...
查看更多

Java面试题----数组中只出现一次的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 381 次浏览 • 2015-08-05 18:31 • 来自相关话题

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 举例说明 例如输入数组{2, 4, 3, 6, 3, 2, 5 },因为只有4 、6 这两个数字只出现一次,...
查看更多

java面试题----和为s 的两个数字vs 和为s 的连续正数序列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 273 次浏览 • 2015-08-05 18:26 • 来自相关话题

题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 举例说明 例如输入数组{1 、2 、4、7 、11 、15 }和数字15. 由于4+ 11 = 15 ,因此输出4 和...
查看更多

java面试题----翻转单词顺序vs左旋转字符串

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 471 次浏览 • 2015-08-05 18:22 • 来自相关话题

题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字啊的顺序不变。为简单起见,标点符号和普通字母一样处理。 举例说明 例如输入字符串”I am a student. ”,则输出”student. a am I”。 解题思路 第一步...
查看更多

Java面试题----n 个锻子的点数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 378 次浏览 • 2015-08-05 17:58 • 来自相关话题

题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s 的所有可能的值出现的概率。 解题思路 解法一:基于通归求解,时间效率不够高。 先把n个骰子分为两堆:第一堆只有一个,另一个有n- 1 个。单独的那一个有可能出现从1 到6 的点数...
查看更多

Java面试题----扑克牌的顺子

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 363 次浏览 • 2015-08-05 17:46 • 来自相关话题

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。2~10为数字本身, A为1。 J为11、Q为12、 为13。小王可以看成任意数字。 解题思路 我们可以把5张牌看成由5个数字组成的数组。大、小王是特殊的数字,我们不妨把它们都定义...
查看更多

java面试题----圆圈中最后剩下的数字(约瑟夫环问题)

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 489 次浏览 • 2015-08-05 17:44 • 来自相关话题

题目:0, 1, … , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字。求出这个圈圈里剩下的最后一个数字。 解题思路 第一种:经典的解法, 用环形链表模拟圆圈。  创建一个总共有n 个结点的环形链表,然后每次在这个链表中...
查看更多

java面试题----不用加减乘除做加法

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 344 次浏览 • 2015-08-05 17:41 • 来自相关话题

题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。 解题思路 5 的二进制是101, 17 的二进制是10001 。还是试着把计算分成三步:第一步各位相加但不计进位, 得到的结果是10100 ( 最后一位两个数...
查看更多

Java面试题----把字符串转换成整数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 482 次浏览 • 2015-08-05 17:38 • 来自相关话题

题目:实现一个函数stringToInt,实现把字符串转换成整数这个功能,不能使用atoi或者其他类似的库函数。 题目解析 这看起来是很简单的题目,实现基本功能 ,大部分人都能用10行之内的代码解决。可是,当我们要把很多特殊情况即测试用例都考虑进去...
查看更多

Java面试题----树中两个结点的最低公共祖先

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 244 次浏览 • 2015-08-05 17:31 • 来自相关话题

题目:求树中两个结点的最低公共祖先,此树不是二叉树,并且没有指向父节点的指针。 树的结点定义 private static class TreeNode {     int val;     List<TreeNode> chi...
查看更多

Java面试题----数组中重复的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 585 次浏览 • 2015-08-05 17:29 • 来自相关话题

题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 举例说明 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么...
查看更多

Java面试题----构建乘积数组

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 267 次浏览 • 2015-08-05 17:25 • 来自相关话题

题目:给定一个数组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],不能使用除法。 解题思路 例如:A[]={1,2,3}求B[]  B...
查看更多

java面试题----正则表达式匹配

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 379 次浏览 • 2015-08-05 17:23 • 来自相关话题

题目:请实现一个函数用来匹配包含‘.’和‘*’的正则表达式。模式中的字符’.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意次(含0次)。本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串“aaa”与模式“a.a”和“ab*ac*a”匹配,但...
查看更多

Java面试题----表示数值的字符串

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 404 次浏览 • 2015-08-05 17:20 • 来自相关话题

题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 例子说明 例如,字符串“+100”,“5e2”,“-123”,“3.1416”及”-1E-16”都表示数值,但“12e”,”1a3.14”,”1.2.3”,”+-5”及“12e+5.4”都...
查看更多

java面试题----字符流中第一个不重复的字符

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 297 次浏览 • 2015-08-05 17:19 • 来自相关话题

题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。 举例说明 例如,当从字符流中只读出前两个字符“go”时,第一个只出现一次的字符是‘g’。当从该字符流中读出前六个字符“google”时,第一个只出现1次的字符是”l”。 解题思路 ...
查看更多

java面试题----链表中环的入口结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 326 次浏览 • 2015-08-05 17:17 • 来自相关话题

题目:一个链表中包含环,如何找出环的入口结点? 解题思路 可以用两个指针来解决这个问题。先定义两个指针P1和P2指向链表的头结点。如果链表中环有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。当第二个指针指向环的入口结点时,第一个...
查看更多

java面试题----删除链表中重复的结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 281 次浏览 • 2015-08-05 17:02 • 来自相关话题

题目:在一个排序的链表中,如何删除重复的结点? 解题思路 解决这个问题的第一步是确定删除的参数。当然这个函数需要输入待删除链表的头结点。头结点可能与后面的结点重复,也就是说头结点也可能被删除,所以在链表头添加一个结点。  接下来我们从头遍历整个链...
查看更多

java面试题----二叉树的下一个结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 301 次浏览 • 2015-08-05 16:59 • 来自相关话题

题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父节点的指针。 解题思路 如果一个结点有右子树,那么它的下一个结点就是它的右子树中的左子结点。也就是说右子结点出发...
查看更多

java面试题----对称的二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 519 次浏览 • 2015-08-05 16:58 • 来自相关话题

题目:请实现一个函数来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 解题思路 通常我们有三种不同的二叉树遍历算法,即前序遍历、中序遍历和后序遍历。在这三种遍历算法中,都是先遍历左子结点再遍历右子结点。我们是否可以定义一种遍历...
查看更多

java面试题----把二叉树打印出多行

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 306 次浏览 • 2015-08-05 16:52 • 来自相关话题

题目:从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印一行。 解题思路 用一个队列来保存将要打印的结点。为了把二叉树的每一行单独打印到一行里,我们需要两个变量:一个变量表示在当前的层中还没有打印的结点数,另一个变量表示下一次结点...
查看更多

java面试题----按之字形顺序打印二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 806 次浏览 • 2015-08-05 16:50 • 来自相关话题

题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,即第一行按照从左到右的顺序打印,第二层按照从右到左顺序打印,第三行再按照从左到右的顺序打印,其他以此类推。 解题思路 按之字形顺序打印二叉树...
查看更多

java面试题--序列化二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 674 次浏览 • 2015-08-05 16:49 • 来自相关话题

题目:请实现两个函数,分别用来序列化和反序列化二叉树。 解题思路 通过分析解决前面的面试题6.我们知道可以从前序遍历和中序遍历构造出一棵二叉树。受此启发,我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序序列,然后再反序列化时通过这两个序列重...
查看更多

java面试题----二叉搜索树的第k个结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 485 次浏览 • 2015-08-05 16:48 • 来自相关话题

题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 解题思路 如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第k大结点。 结点定义 private sta...
查看更多

java面试题,剑指offer,----滑动窗口的最大值

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 363 次浏览 • 2015-08-05 16:34 • 来自相关话题

题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。 举例说明 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小,那么一共存在6个滑动窗口,它们的最大值分别为{4,4,6,6,6,5}。 解题思路 如果采用蛮力法,这个...
查看更多

java面试题:矩阵中的路径

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 455 次浏览 • 2015-08-05 16:28 • 来自相关话题

题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中任意一格开始,每一步可以在矩阵中间向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 举例分析 例如在下面的3*...
查看更多

java面试题:机器人的运动范围

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 858 次浏览 • 2015-08-05 16:26 • 来自相关话题

题目:地上有个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。 举例分析 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18...
查看更多

【LeetCode-面试算法经典-Java实现】----(容纳最多的水)

Java技术问答admin 发表了文章 • 1 个评论 • 525 次浏览 • 2015-08-05 15:06 • 来自相关话题

【LeetCode-面试算法经典-Java实现】【011-ContainerWithMostWater(容纳最多的水)】   原题 Given n non-negative integers a1, a2, …, an, where each represe...
查看更多

【LeetCode-面试算法经典-Java实现】----(生成括号)

回复

Java技术问答yank 回复了问题 • 2 人关注 • 2 个回复 • 1191 次浏览 • 2015-12-25 02:55 • 来自相关话题

八成Java开发者解答不了的问题

Java技术问答萌奇帝 发表了文章 • 0 个评论 • 269 次浏览 • 2015-09-06 16:34 • 来自相关话题

几个月前,我们在一个小型网站上发布了一个称为Java“死亡竞赛”的新项目。测验发布后,超过20000位开发者参加了测验。网站以20道关于Java的多选题为主。我们得到了众多开发者的测验统计数据,今天,我们非常乐意将其中的一些数据和答案与你们分享。 我们从20...
查看更多

7个去伪存真的JavaScript面试题

Java技术问答萌奇帝 发表了文章 • 0 个评论 • 255 次浏览 • 2015-09-06 16:31 • 来自相关话题

上周,我发表了《C#程序员的7个面试问题》。这次我要说的是如何淘汰那些滥竽充数的JavaScript程序员。 你会惊讶于居然有这么多人来面试工作,并且他们的简历描述得都貌似很牛逼的样子。但是如果你问他们相关问题的话,你就会发现他们对此一无所知。我不 知道他们...
查看更多

Java面试题----树的子结构

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 388 次浏览 • 2015-08-05 19:52 • 来自相关话题

题目:输入两棵二叉树A 和B,判断B 是不是A 的子结构。 二叉树结点的定义: /**  * 二叉树的树结点  */  public static class BinaryTreeNode {     int value;     BinaryTreeN...
查看更多

Java面试题----二叉树的镜像

Java技术问答Codeyuan 发表了文章 • 1 个评论 • 338 次浏览 • 2015-08-05 19:48 • 来自相关话题

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 二叉树结点的定义: [quote] [list=1] /**   * 二叉树的树结点   */ public static class BinaryTreeNode {     i...
查看更多

Java面试题----顺时针打印矩阵

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 963 次浏览 • 2015-08-05 19:46 • 来自相关话题

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次扫印出每一个数字 解题思路: 把打印一圈分为四步:第一步从左到右打印一行,第二步从上到下打印一列,第三步从右到左打印一行,第四步从下到上打印一列。每一步我们根据起始坐标和终止坐标用一个循环就能打印出...
查看更多

java面试题---- 包含min 函数的钱

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 342 次浏览 • 2015-08-05 19:19 • 来自相关话题

题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小素的min 函数。在该栈中,调用min、push 及pop的时间复杂度都是0(1) 解题思路: 把每次的最小元素(之前的最小元素和新压入战的元素两者的较小值)都保存起来放到另外一个辅助栈里 如...
查看更多

java面试题----栈的压入、弹出

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 955 次浏览 • 2015-08-05 19:17 • 来自相关话题

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 解题思路: 解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从...
查看更多

Java面试题----从上往下打印二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 293 次浏览 • 2015-08-05 19:15 • 来自相关话题

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左向右的顺序打印。 二叉树结点的定义: public static class BinaryTreeNode {     int value;     BinaryTreeNode le...
查看更多

Java面试题----二叉搜索树的后序遍历序列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 281 次浏览 • 2015-08-05 19:14 • 来自相关话题

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true。否则返回false。假设输入的数组的任意两个数字都互不相同。 解题思路: 在后序遍历得到的序列中, 最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分: ...
查看更多

Java面试题----二叉树中和为某一值的路径

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 313 次浏览 • 2015-08-05 19:13 • 来自相关话题

题目:输入一棵二叉树和一个整数, 打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 二叉树结点的定义: public static class BinaryTreeNode {     in...
查看更多

Java面试题----复杂链表的复制

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 754 次浏览 • 2015-08-05 19:12 • 来自相关话题

题目:请实现函数ComplexListNode clone(ComplexListNode head),复制一个复杂链表。在复杂链表中,每个结点除了有一个next 域指向下一个结点外,还有一个sibling 指向链表中的任意结点或者null。 结点结构定...
查看更多

Java面试题----二叉搜索树与双向链表

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 447 次浏览 • 2015-08-05 19:08 • 来自相关话题

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 比如输入图4.12 中左边的二叉搜索树,则输出转换之后的排序现向链表。 57 结点定义: public...
查看更多

Java面试题----字符串的排列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 474 次浏览 • 2015-08-05 18:56 • 来自相关话题

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc。则打印出由字符a、b、c 所能排列出来的所有字符串abc、acb、bac 、bca、cab 和cba 。 解题思路: 把一个字符串看成由两部分组成:第一部分为它的第一个字符...
查看更多

Java面试题----数组中出现次数超过一半的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 992 次浏览 • 2015-08-05 18:55 • 来自相关话题

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 例子说明: 如输入一个长度为9 的数组{ 1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5 次,超过数组长度的一半,因此输出2 。 解题思路:...
查看更多

Java面试题----最小的k个数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 336 次浏览 • 2015-08-05 18:53 • 来自相关话题

题目: 输入n个整数,找出其中最小的k个数。 例子说明: 例如输入4 、5 、1、6、2、7、3 、8 这8 个数字,则最小的4 个数字是1 、2、3 、4 解题思路: 解法一:O(n)时间算法,只有可以修改输入数组时可用。 可以...
查看更多

java面试题----连续子数组的最大和

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 494 次浏览 • 2015-08-05 18:50 • 来自相关话题

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例子说明: 例如输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3...
查看更多

Java面试题----求从1到n的整数中1出现的次数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 1205 次浏览 • 2015-08-05 18:48 • 来自相关话题

题目:输入一个整数n求从1 到n这n个整数的十进制表示中1 出现的次数。 举例说明: 例如输入12 ,从1 到12 这些整数中包含1 的数字有1、10、11 和12,1 一共出现了5 次。 题解思路: 第一种:不夸虑时间效率的解法 ...
查看更多

Java面试题----把数组排成最小的数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 366 次浏览 • 2015-08-05 18:47 • 来自相关话题

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例子说明: 例如输入数组{3, 32, 321},则扫描输出这3 个数字能排成的最小数字321323。 解题思路: 第一种:直观解法 ...
查看更多

Java面试题----丑数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 464 次浏览 • 2015-08-05 18:45 • 来自相关话题

题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。求从小到大的顺序的第1500个丑数。 举例说明: 例如6、8 都是丑数,但14 不是,它包含因子7。习惯上我们把1 当做第一个丑数。 解题思路: 第一种:逐个判...
查看更多

Java面试题----第一个只出现一次的字符

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 292 次浏览 • 2015-08-05 18:44 • 来自相关话题

题目:在字符串中找出第一个只出现一次的字符。 解题思路: 第一种:直接求解: 从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符...
查看更多

Java面试题----数组中的逆序对

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 393 次浏览 • 2015-08-05 18:43 • 来自相关话题

题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 举例分析 例如在数组{7, 5, 6, 4 中, 一共存在5 个逆序对,分别是(7, 6)、(7,5),(7, 4...
查看更多

Java面试题----两个链表的第一个公共结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 352 次浏览 • 2015-08-05 18:34 • 来自相关话题

题目:输入两个链表,找出它们的第一个公共结点。 链表结点定义     /**      * 链表结点类      */     private static class ListNode {         int val;         ListNod...
查看更多

Java面试题----数字在排序数组中出现的次数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 291 次浏览 • 2015-08-05 18:33 • 来自相关话题

题目:统计一个数字:在排序数组中出现的次数。 举例说明 例如输入排序数组{ 1, 2, 3, 3, 3, 3, 4, 5}和数字3 ,由于3 在这个数组中出现了4 次,因此输出4 。 解题思路 利用改进的二分算法。  如何用二分查找算...
查看更多

Java面试题----二叉树的深度

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 519 次浏览 • 2015-08-05 18:32 • 来自相关话题

题目一:输入一棵二叉树的根结点,求该树的深度。从根结点到叶子点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 二叉树的结点定义 private static class BinaryTreeNode {     int val;...
查看更多

Java面试题----数组中只出现一次的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 381 次浏览 • 2015-08-05 18:31 • 来自相关话题

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 举例说明 例如输入数组{2, 4, 3, 6, 3, 2, 5 },因为只有4 、6 这两个数字只出现一次,...
查看更多

java面试题----和为s 的两个数字vs 和为s 的连续正数序列

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 273 次浏览 • 2015-08-05 18:26 • 来自相关话题

题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 举例说明 例如输入数组{1 、2 、4、7 、11 、15 }和数字15. 由于4+ 11 = 15 ,因此输出4 和...
查看更多

java面试题----翻转单词顺序vs左旋转字符串

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 471 次浏览 • 2015-08-05 18:22 • 来自相关话题

题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字啊的顺序不变。为简单起见,标点符号和普通字母一样处理。 举例说明 例如输入字符串”I am a student. ”,则输出”student. a am I”。 解题思路 第一步...
查看更多

Java面试题----n 个锻子的点数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 378 次浏览 • 2015-08-05 17:58 • 来自相关话题

题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s 的所有可能的值出现的概率。 解题思路 解法一:基于通归求解,时间效率不够高。 先把n个骰子分为两堆:第一堆只有一个,另一个有n- 1 个。单独的那一个有可能出现从1 到6 的点数...
查看更多

Java面试题----扑克牌的顺子

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 363 次浏览 • 2015-08-05 17:46 • 来自相关话题

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。2~10为数字本身, A为1。 J为11、Q为12、 为13。小王可以看成任意数字。 解题思路 我们可以把5张牌看成由5个数字组成的数组。大、小王是特殊的数字,我们不妨把它们都定义...
查看更多

java面试题----圆圈中最后剩下的数字(约瑟夫环问题)

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 489 次浏览 • 2015-08-05 17:44 • 来自相关话题

题目:0, 1, … , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字。求出这个圈圈里剩下的最后一个数字。 解题思路 第一种:经典的解法, 用环形链表模拟圆圈。  创建一个总共有n 个结点的环形链表,然后每次在这个链表中...
查看更多

java面试题----不用加减乘除做加法

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 344 次浏览 • 2015-08-05 17:41 • 来自相关话题

题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。 解题思路 5 的二进制是101, 17 的二进制是10001 。还是试着把计算分成三步:第一步各位相加但不计进位, 得到的结果是10100 ( 最后一位两个数...
查看更多

Java面试题----把字符串转换成整数

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 482 次浏览 • 2015-08-05 17:38 • 来自相关话题

题目:实现一个函数stringToInt,实现把字符串转换成整数这个功能,不能使用atoi或者其他类似的库函数。 题目解析 这看起来是很简单的题目,实现基本功能 ,大部分人都能用10行之内的代码解决。可是,当我们要把很多特殊情况即测试用例都考虑进去...
查看更多

Java面试题----树中两个结点的最低公共祖先

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 244 次浏览 • 2015-08-05 17:31 • 来自相关话题

题目:求树中两个结点的最低公共祖先,此树不是二叉树,并且没有指向父节点的指针。 树的结点定义 private static class TreeNode {     int val;     List<TreeNode> chi...
查看更多

Java面试题----数组中重复的数字

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 585 次浏览 • 2015-08-05 17:29 • 来自相关话题

题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 举例说明 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么...
查看更多

Java面试题----构建乘积数组

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 267 次浏览 • 2015-08-05 17:25 • 来自相关话题

题目:给定一个数组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],不能使用除法。 解题思路 例如:A[]={1,2,3}求B[]  B...
查看更多

java面试题----正则表达式匹配

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 379 次浏览 • 2015-08-05 17:23 • 来自相关话题

题目:请实现一个函数用来匹配包含‘.’和‘*’的正则表达式。模式中的字符’.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意次(含0次)。本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串“aaa”与模式“a.a”和“ab*ac*a”匹配,但...
查看更多

Java面试题----表示数值的字符串

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 404 次浏览 • 2015-08-05 17:20 • 来自相关话题

题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 例子说明 例如,字符串“+100”,“5e2”,“-123”,“3.1416”及”-1E-16”都表示数值,但“12e”,”1a3.14”,”1.2.3”,”+-5”及“12e+5.4”都...
查看更多

java面试题----字符流中第一个不重复的字符

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 297 次浏览 • 2015-08-05 17:19 • 来自相关话题

题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。 举例说明 例如,当从字符流中只读出前两个字符“go”时,第一个只出现一次的字符是‘g’。当从该字符流中读出前六个字符“google”时,第一个只出现1次的字符是”l”。 解题思路 ...
查看更多

java面试题----链表中环的入口结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 326 次浏览 • 2015-08-05 17:17 • 来自相关话题

题目:一个链表中包含环,如何找出环的入口结点? 解题思路 可以用两个指针来解决这个问题。先定义两个指针P1和P2指向链表的头结点。如果链表中环有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。当第二个指针指向环的入口结点时,第一个...
查看更多

java面试题----删除链表中重复的结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 281 次浏览 • 2015-08-05 17:02 • 来自相关话题

题目:在一个排序的链表中,如何删除重复的结点? 解题思路 解决这个问题的第一步是确定删除的参数。当然这个函数需要输入待删除链表的头结点。头结点可能与后面的结点重复,也就是说头结点也可能被删除,所以在链表头添加一个结点。  接下来我们从头遍历整个链...
查看更多

java面试题----二叉树的下一个结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 301 次浏览 • 2015-08-05 16:59 • 来自相关话题

题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父节点的指针。 解题思路 如果一个结点有右子树,那么它的下一个结点就是它的右子树中的左子结点。也就是说右子结点出发...
查看更多

java面试题----对称的二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 519 次浏览 • 2015-08-05 16:58 • 来自相关话题

题目:请实现一个函数来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 解题思路 通常我们有三种不同的二叉树遍历算法,即前序遍历、中序遍历和后序遍历。在这三种遍历算法中,都是先遍历左子结点再遍历右子结点。我们是否可以定义一种遍历...
查看更多

java面试题----把二叉树打印出多行

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 306 次浏览 • 2015-08-05 16:52 • 来自相关话题

题目:从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印一行。 解题思路 用一个队列来保存将要打印的结点。为了把二叉树的每一行单独打印到一行里,我们需要两个变量:一个变量表示在当前的层中还没有打印的结点数,另一个变量表示下一次结点...
查看更多

java面试题----按之字形顺序打印二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 806 次浏览 • 2015-08-05 16:50 • 来自相关话题

题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,即第一行按照从左到右的顺序打印,第二层按照从右到左顺序打印,第三行再按照从左到右的顺序打印,其他以此类推。 解题思路 按之字形顺序打印二叉树...
查看更多

java面试题--序列化二叉树

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 674 次浏览 • 2015-08-05 16:49 • 来自相关话题

题目:请实现两个函数,分别用来序列化和反序列化二叉树。 解题思路 通过分析解决前面的面试题6.我们知道可以从前序遍历和中序遍历构造出一棵二叉树。受此启发,我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序序列,然后再反序列化时通过这两个序列重...
查看更多

java面试题----二叉搜索树的第k个结点

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 485 次浏览 • 2015-08-05 16:48 • 来自相关话题

题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 解题思路 如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第k大结点。 结点定义 private sta...
查看更多

java面试题,剑指offer,----滑动窗口的最大值

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 363 次浏览 • 2015-08-05 16:34 • 来自相关话题

题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。 举例说明 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小,那么一共存在6个滑动窗口,它们的最大值分别为{4,4,6,6,6,5}。 解题思路 如果采用蛮力法,这个...
查看更多

java面试题:矩阵中的路径

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 455 次浏览 • 2015-08-05 16:28 • 来自相关话题

题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中任意一格开始,每一步可以在矩阵中间向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 举例分析 例如在下面的3*...
查看更多

java面试题:机器人的运动范围

Java技术问答Codeyuan 发表了文章 • 0 个评论 • 858 次浏览 • 2015-08-05 16:26 • 来自相关话题

题目:地上有个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。 举例分析 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18...
查看更多

【LeetCode-面试算法经典-Java实现】----(子集)

Java技术问答admin 发表了文章 • 1 个评论 • 261 次浏览 • 2015-08-05 16:15 • 来自相关话题

【LeetCode-面试算法经典-Java实现】【078-Subsets(子集)】   原题 Given a set of distinct integers, nums, return all possible subsets.  Note:  Eleme...
查看更多
Template error, template file not found