![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试面试题
钢琴冰指
这个作者很懒,什么都没留下…
展开
-
输入n个整数,找出最小的k个数
创建大小为k的堆,当容器满时:1、在k个数中找到最大数,2、删除容器最大数,然后调整堆;3、插入一个新数,调整堆;适合海量数据,时间复杂度O(nlgk)import java.util.Arrays;public class GetLeastKNumbers { public int getParent(int i) { return (i - 1) >> 1;原创 2013-10-03 11:02:03 · 2023 阅读 · 0 评论 -
给定一个链表,要求每隔k个元素反转
给定一个链表,要求每隔k个元素反转,public void kReverse(Node node, int k)即链表为1->2->3->4->5->6->7->8当k=2时,链表为2->1->4->3->6->5->8->7当k=5时,链表5->4->3->2->1->6->7->8class Node { public T data; public Node nex原创 2013-09-11 09:53:56 · 2422 阅读 · 0 评论 -
给定一个链表,比如L1--->L2---->L3---->................----->Ln,把链表调整为L1---->Ln----->L2----->Ln-1------>L3----
给定一个链表,比如L1--->L2---->L3---->................----->Ln,把链表调整为L1---->Ln----->L2----->Ln-1------>L3------>Ln-3...........要求:1、间复杂度O(1);2、节点class Node{int value;Node next;}思路:把链表分为两部分前后两原创 2013-10-03 11:32:37 · 3156 阅读 · 0 评论 -
Java 12个线程每组两个访问同一个对象的void,synchronized,static void ,synchronized static void
先贴上测试代码import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SynchronizedTest { public void a(int i) { System.out.println("a"+" "+i); try { Thr原创 2013-09-25 13:18:21 · 811 阅读 · 0 评论 -
给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法
给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法;要求:O(1)空间复杂度和O(n)的时间复杂度;除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等)虽然不能使用临时变量,但是可以用数组本身的某一个元素,不让用除法,应该想到迭代的用乘法,而且b中每个原创 2013-10-03 11:34:35 · 3671 阅读 · 0 评论