![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
bylijinnan
这个作者很懒,什么都没留下…
展开
-
java-并查集(Disjoint-set)-将多个集合合并成没有交集的集合
[code="java"]import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;i...2012-04-28 00:02:22 · 644 阅读 · 1 评论 -
java-颠倒一个句子中的词的顺序。比如: I am a student颠倒后变成:student a am I
[code="java"]public class ReverseWords { /** * 题目:颠倒一个句子中的词的顺序。比如: I am a student颠倒后变成:student a am I.词以空格分隔。 * 要求: * 1.实现速度最快,移动最少 * 2.不能使用String的方法如split,indexOf等等。 * 解答:两次翻转。...2012-04-14 10:27:24 · 265 阅读 · 0 评论 -
java-两整数相除,求循环节
[code="java"]import java.util.ArrayList;import java.util.List;public class CircleDigitsInDivision { /** * 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,u...2012-04-14 13:52:26 · 661 阅读 · 0 评论 -
java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待...
[code="java"]public class PC { /** * 题目:生产者-消费者。 * 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。 */ private static final Integer[] val=new Integer[10]; p...2012-04-14 15:39:16 · 105 阅读 · 0 评论 -
单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值...
[code="java"]import java.util.LinkedList;/*单调队列 滑动窗口单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1...2012-11-11 22:32:06 · 245 阅读 · 0 评论 -
java-写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。...
[code="java"]public class CommonSubSequence { /** * 题目:写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。 * 写一个版本算法复杂度O(N^2)和一个O(N) 。 * * O(N^2):对于a中的每个字符,遍历b中的每个字符,如果相同,则拷贝到新...2012-04-17 19:50:29 · 327 阅读 · 0 评论 -
有一个数组,每次从中间随机取一个,然后放回去,当所有的元素都被取过,返回总共的取的次数。写一个函数实现。复杂度是什么。...
[code="java"]import java.util.Random;import java.util.Set;import java.util.TreeSet;/** * http://weibo.com/1915548291/z7HtOF4sx * #面试题#有一个数组,每次从中间随机取一个,然后放回去,当所有的元素都被取过,返回总共的取的次数。 * 写...2012-12-07 14:32:50 · 138 阅读 · 0 评论 -
java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?...
[code="java"]public class CopySpecialLinkedList { /** * 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。假设原来链表为A1 -> A2 ->... -> An...2012-04-20 10:04:37 · 131 阅读 · 0 评论 -
百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序...
[code="java"]import java.util.Arrays;/** * 最早是在陈利人老师的微博看到这道题: * #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K * 设计一个排序算法。It should be faster t...2012-12-21 18:17:32 · 250 阅读 · 0 评论 -
bitmap求哈密顿距离-给定N(1<=N<=100000)个五维的点A(x1,x2,x3,x4,x5),求两个点X(x1,x2,x3,x4,x5)和Y(...
[code="java"]import java.util.Random;/** * 题目: * 给定N(12012-12-27 21:12:57 · 250 阅读 · 0 评论 -
java-谷歌面试题-给定一个排序数组,如何构造一个二叉排序树
[code="java"]import java.util.LinkedList;public class CreateBSTfromSortedArray { /** * 题目:给定一个排序数组,如何构造一个二叉排序树 * 递归 */ public static void main(String[] args) { int[] data = {...2012-04-12 11:10:13 · 725 阅读 · 0 评论 -
java-谷歌面试题-设计方便提取中数的数据结构
网上找了一下这道题的解答,但都是提供思路,没有提供具体实现。其中使用大小堆这个思路看似简单,但实现起来要考虑很多。以下分别用排序数组和大小堆来实现。使用大小堆:[code="java"]import java.util.Arrays;public class MedianInHeap { /** * 题目:设计方便提取中数的数据结构 * 设计一个数据结构,其...2012-04-12 10:10:40 · 94 阅读 · 0 评论 -
多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1...
[code="java"]public class IncDecThread { private int j=10; /* * 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1 * 两个问题: * 1、线程同步--synchronized * 2、线程之间如何共享同一个j变量--内部类 */ p...2012-03-18 16:13:51 · 455 阅读 · 0 评论 -
给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
[code="java"]import java.util.ArrayList;import java.util.List;import java.util.Random;public class RandNFromRand5 { /** 题目:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。 解法1: f(k) = (x...2012-03-21 22:15:23 · 333 阅读 · 0 评论 -
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码...
[code="java"]public class ScalesBalance { /** * 题目: * 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个) * 将重物放到天平左侧,问在两边如何添加砝码使两边平衡 * * 分析: * 三进制 * 我们约定括号表示里面的数是三进...2012-10-28 23:41:33 · 316 阅读 · 0 评论 -
java实现两个大数相加,可能存在溢出。
[code="java"]import java.math.BigInteger;import java.util.regex.Matcher;import java.util.regex.Pattern;public class BigIntegerAddition { /** * 题目:java实现两个大数相加,可能存在溢出。 * 如12345678...2012-03-25 11:08:20 · 217 阅读 · 0 评论 -
java-给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。...
[code="java"]public class DeleteExtraSpace { /** * 题目:给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。 * 方法1.用已有的String类的trim和replaceAll方法 * 方法2.全部用正则表达式,这个我不熟 * 方法3.“重新发明轮子”,从头遍历一次 */ pu...2012-03-26 10:59:57 · 782 阅读 · 0 评论 -
java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。...
[code="java"]import java.util.ArrayList;import java.util.List;public class KickOutBadGuys { /** * 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。 * Maybe you ...2012-03-28 22:13:04 · 151 阅读 · 0 评论 -
java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数...
[code="java"]public class SearchInShiftedArray { /** * 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。 * 请在这个特殊数组中找出给定的整数。 * 解答: * 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan...2012-03-31 12:16:01 · 254 阅读 · 0 评论 -
java-给定两个已排序序列,找出共同的元素。
[code="java"]import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class CommonItemInTwoSortedArray { /** * 题目:给定两个已排序序列,找出共同的元素。 * 1.定义两个指针分别指向序列的开始。...2012-04-06 13:09:34 · 290 阅读 · 0 评论 -
java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]...
这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht[code="java"]import java.math.BigInteger;import java.util.Arrays;public class CreateBFromATencent { /** * 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的...2012-04-08 23:10:46 · 187 阅读 · 0 评论 -
二维数组(矩阵)对角线输出
[code="java"]/**二维数组 对角线输出 两个方向例如对于数组:{ 1, 2, 3, 4 }, { 5, 6, 7, 8 },{ 9, 10, 11, 12 }, { 13, 14, 15, 16 },slash方向输出:1 5 2 9 6 3 13 10 7 4 14 11 8 15 12 16 backsl...2014-04-28 17:55:37 · 2629 阅读 · 0 评论