b*****n 发帖数: 760 | 1 1. You have a class that supports to input sample records and to compute the
average of the samples. The class has two members: total and count. How
would you make the class thread-safe? If 99% of the time average() is called
, how to optimize for that?
2. Talk about your recent interesting project/bug.
3. You have 100 files, each containing 10G sorted integers. How to merge all
integers into one sorted file?
4. Write a function to reverse digits of an integer. E.g. 123 --> 321, -890
--> -98.
5.... 阅读全帖 |
|
y***m 发帖数: 7027 | 2 简单java的,有更优化的么,thx!
private static void merge() {
Integer A[] = new Integer[] { 1, 5, 8, 14, 25 };
Integer B[] = new Integer[] { 3, 4, 7, 17, 27 };
int k = A.length + B.length;
Integer C[] = new Integer[k];
int i = 0, j = 0, m = 0;
while (m < k-1) {
if (A[i] > B[j]) {
C[m] = B[j];
j++;
... 阅读全帖 |
|
y***m 发帖数: 7027 | 3 哦... 这样可以?
thx!
private static void merge2() {
Integer B[] = new Integer[] { 1, 3, 8, 14, 25 };
Integer A[] = new Integer[] { 3, 4, 7, 17, 27, 30 };
int k = A.length + B.length;
Integer C[] = new Integer[k];
int i = 0, j = 0, m = 0;
while (m < k - 1) {
if (j < B.length - 1 && (A[i] > B[j] || i > A.length - 2)) {
C[m] = B[j];
j++;
} else {
C[m] = A[i];
i++;
}
log.info(" " + C[m]);
m++;
}
} |
|
D********g 发帖数: 650 | 4 A solution with bfs, node on a complete b-tree should have continuous index
if appropriately indexed:
Boolean isCompleteBinaryTree(Node root) {
If (root == NULL) return true;
Queue> bfs = new Queue>();
Bfs.put(new Entry(root, 0));
Int currentNodeIdx = -1;
While (!bfs.empty()) {
Entry e = bfs.poll();
If (e.getValue() != ++ currentNodeIdx) {
Return false; // Node index is not continuous.
}
Node n = e.get... 阅读全帖 |
|
s******n 发帖数: 226 | 5 假设x = 1, Y=1
输出 202.
import java.util.*;
class Short{
public static int[][] path;
public static boolean [][]visit;
public static int ii;
public static int jj;
public static int[][]w = { {100, 1, 1, 1, 1, 100},
{100, 1, 100, 100, 100, 1},
{1, 100, 100, 1, 100, 100},
{1, 100, 100, 100, 1, 100},
{1, 1, 1, 1, 100, 100}
};
static int m =5;
static int n =6;
static int ... 阅读全帖 |
|
s******n 发帖数: 226 | 6 假设x = 1, Y=1
输出 202.
import java.util.*;
class Short{
public static int[][] path;
public static boolean [][]visit;
public static int ii;
public static int jj;
public static int[][]w = { {100, 1, 1, 1, 1, 100},
{100, 1, 100, 100, 100, 1},
{1, 100, 100, 1, 100, 100},
{1, 100, 100, 100, 1, 100},
{1, 1, 1, 1, 100, 100}
};
static int m =5;
static int n =6;
static int ... 阅读全帖 |
|
w**z 发帖数: 8232 | 7 我再贴一下Java的sourcecode。不懂为什么要把正数转成负数再查溢出呢?有什么好处?
code里有Author的comments
// Accumulating negatively avoids surprises near MAX_VALUE
/**
* Parses the string argument as a signed integer in the radix
* specified by the second argument. The characters in the string
* must all be digits of the specified radix (as determined by
* whether {@link java.lang.Character#digit(char, int)} returns a
* nonnegative value), except that the first character may be an
* ASCII minus sig... 阅读全帖 |
|
b*****k 发帖数: 26 | 8 The IntegerSet Class
the IntegerSet class represents the set of integers ranging from 1 to 10,000
,000. This class has a default ctor and a dtor. It also contains two
additional public methods: Acquire and Relinquish.
The Acquire method picks an available value from the set, removes it fro mm
the set, and returns this value to the callers. If the set of available
integers is empty, the Acquire method returns 0.
The Relinquish method adds an available integer value back to the set. If
the value i... 阅读全帖 |
|
w**z 发帖数: 8232 | 9 Source Code from Java
/*
* @author Lee Boynton
* @author Arthur van Hoff
* @author Josh Bloch
* @version 1.92, 04/07/06
* @since JDK1.0
*/
/**
* Parses the string argument as a signed integer in the radix
* specified by the second argument. The characters in the string
* must all be digits of the specified radix (as determined by
* whether {@link java.lang.Character#digit(char, int)} returns a
* nonnegative value), except that the first character may be an
* A... 阅读全帖 |
|
p*****2 发帖数: 21240 | 10
Some engineers got tired of dealing with all the different ways of encoding
status messages, so they decided to invent their own. In their new scheme,
an encoded status message consists of a sequence of integers representing
the characters in the message, separated by spaces. Each integer is between
1 and M, inclusive. The integers do not have leading zeroes. Unfortunately
they decided to compress the encoded status messages by removing all the
spaces!
Your task is to figure out how many differ... 阅读全帖 |
|
p*****2 发帖数: 21240 | 11
Some engineers got tired of dealing with all the different ways of encoding
status messages, so they decided to invent their own. In their new scheme,
an encoded status message consists of a sequence of integers representing
the characters in the message, separated by spaces. Each integer is between
1 and M, inclusive. The integers do not have leading zeroes. Unfortunately
they decided to compress the encoded status messages by removing all the
spaces!
Your task is to figure out how many differ... 阅读全帖 |
|
D********g 发帖数: 650 | 12 我的java 版本,欢迎指正
public static class Flattener {
final List> _vv;
int _curList = 0;
int _curOffset = 0;
public Flattener(final List> vv) {
if (vv == null) {
throw new IllegalArgumentException();
}
_vv = new ArrayList>();
for (int i = 0; i < vv.size(); ++i) {
if (vv.get(i) == null || vv.get(i).size() == 0) {
continue;
... 阅读全帖 |
|
p*****2 发帖数: 21240 | 13 大概这个样子吧。
class flat implements Iterator
{
Iterator> it1=null;
Iterator it2=null;
void Getit2()
{
it2=null;
if(it1!=null)
{
while(it1.hasNext())
{
Vector v=it1.next();
if(v!=null && v.size()!=0)
{
it2=v.iterator();
return;
};
}
}
}
public flat(Vector> a)
{
if(a!=null)
{
it1=a.iterator();
Getit2();
}
... 阅读全帖 |
|
p*****2 发帖数: 21240 | 14 来自主题: JobHunting版 - G家一面。 我写了一个练练手。
import java.util.*;
public class test3
{
public static void main(String[] args)
{
Interval in = new Interval();
int[][] sam = new int[][]
{
{ 5, 10 },
{ 15, 17 },
{ 18, 25 },
{ 16, 35 } };
for (int i = 0; i < sam.length; i++)
{
in.Merge(sam[i][0], sam[i][1]);
in.Print();
}
}
}
class Interval
{
TreeMap tm = new TreeMap();
void Me... 阅读全帖 |
|
w*********0 发帖数: 48 | 15 O(n)
import java.util.*;
public class Solution {
public int longestValidParentheses(String s) {
// Start typing your Java solution below
// DO NOT write main() function
if (s == null || s.length() == 0) return 0;
ArrayList pos = new ArrayList();
HashMap pair = new HashMap();
int len = s.length();
int max = 0;
for (int i = 0; i < len; i++) {
if (s.charAt(i) == '(')... 阅读全帖 |
|
w*********0 发帖数: 48 | 16 O(n)
import java.util.*;
public class Solution {
public int longestValidParentheses(String s) {
// Start typing your Java solution below
// DO NOT write main() function
if (s == null || s.length() == 0) return 0;
ArrayList pos = new ArrayList();
HashMap pair = new HashMap();
int len = s.length();
int max = 0;
for (int i = 0; i < len; i++) {
if (s.charAt(i) == '(')... 阅读全帖 |
|
p*****2 发帖数: 21240 | 17 刚才又重写了一遍
class Solution1
{
TreeMap tm = new TreeMap();
void insert(Interval interval)
{
Integer prev = tm.floorKey(interval.start);
Integer next = tm.ceilingKey(interval.start);
if (prev != null && tm.get(prev) >= interval.start || next != null
&& interval.end >= next)
{
int start = -1;
if (prev != null && tm.get(prev) >= interval.start)
{
tm.put(pre... 阅读全帖 |
|
p*****2 发帖数: 21240 | 18 刚才又重写了一遍
class Solution1
{
TreeMap tm = new TreeMap();
void insert(Interval interval)
{
Integer prev = tm.floorKey(interval.start);
Integer next = tm.ceilingKey(interval.start);
if (prev != null && tm.get(prev) >= interval.start || next != null
&& interval.end >= next)
{
int start = -1;
if (prev != null && tm.get(prev) >= interval.start)
{
tm.put(pre... 阅读全帖 |
|
p*****2 发帖数: 21240 | 19
随便写了一个,不过没 怎么调呀。大概这个意思。
HashMap hm = new HashMap();
int isValid(char[] arr)
{
Stack stack = new Stack();
for (int i = 0; i < arr.length; i++)
{
if (arr[i] == '(')
stack.push(i);
else if (arr[i] == ')')
{
if (stack.isEmpty())
return -1;
hm.put(stack.pop(), i);
}
}
if (!stack.is... 阅读全帖 |
|
G******i 发帖数: 5226 | 20 ☆─────────────────────────────────────☆
guangyi ( 光一) 于 (Sat Oct 29 00:10:37 2011, 美东) 提到:
**********************************
M:
phone interview (1 round):
why MS?
biggest challenge
why like coding and algorithm?
what is good code?
your longest code
biggest accomplishment
if you don't want some functions to be modified in java, what to do?
does java allow multiple inheritance?
what does synchronized keyword mean in java?
CEO wants a book, you find it in the system of a nearby bookshop. You ... 阅读全帖 |
|
P*********c 发帖数: 35 | 21 Glassdoor上看来的,不知题目到底啥意思,是说先把list分成两块,第一块全是word
,第二块全是integer,两块的element其实都是string,只是第一块要按照string的字
母排序,第二块要按照string所表示的integer大小排序吗?
Write a program that takes a list of strings containing integers and words
and returns a sorted version of the list. The goal is to sort this list in
such a way that all words are in alphabetical order and all integers are in
numerical order. Furthermore, if the nth element in the list is an integer
it must remain an integer, and if it is a word it must remain a wo... 阅读全帖 |
|
x*****o 发帖数: 33 | 22 来自主题: JobHunting版 - G家面试题 求大牛鉴定,这个也N!吗?
public int findMin(int[][] a)
{
if (a == null || a.length == 0)
{
return 0;
}
if (a.length == 1)
{
return a[0][0];
}
int n = a[0].length;
ArrayList avail = new ArrayList();
for (int i = 0; i < n; i++)
{
avail.add(i);
}
return find(a, 0, avail);
}
private int find(int[][] a, int curRow, ArrayList availCols)
{
... 阅读全帖 |
|
x*****o 发帖数: 33 | 23 来自主题: JobHunting版 - G家面试题 求大牛鉴定,这个也N!吗?
public int findMin(int[][] a)
{
if (a == null || a.length == 0)
{
return 0;
}
if (a.length == 1)
{
return a[0][0];
}
int n = a[0].length;
ArrayList avail = new ArrayList();
for (int i = 0; i < n; i++)
{
avail.add(i);
}
return find(a, 0, avail);
}
private int find(int[][] a, int curRow, ArrayList availCols)
{
... 阅读全帖 |
|
l**********1 发帖数: 415 | 24 Given two integers n and k, return all possible combinations of k numbers
out of 1 ... n.
For example,
If n = 4 and k = 2, a solution is:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
the given api is
public ArrayList> combine(int n, int k)
the solution I got is as follows which is really slow O(n!) and time out at
10,7. So please provide any idea of higher efficiency algorithm for this
one. Thanks in advance
public void combination(ArrayList> r... 阅读全帖 |
|
Z***A 发帖数: 33 | 25 写了3sum的solution,但是没通过OJ large judge,Run Status: Time Limit
Exceeded,请分析一下原因。
下面是code:
public ArrayList> threeSum(int[] num) {
// Start typing your Java solution below
// DO NOT write main() function
if (num.length < 3)
return new ArrayList>();
Arrays.sort(num);
ArrayList> res = new ArrayList
>();
for (int i=0; i < num.length; i++)
{
... 阅读全帖 |
|
s********x 发帖数: 914 | 26 切磋一下. running time 应该是 less than log(K)
public class RandomNextIntExceptK {
private int[] kk;
private int[] kAdd;
private Random rand = new Random();
public RandomNextIntExceptK(int[] k) {
Map kCount = new TreeMap();
for (int i = 0; i < k.length; i++)
{
int key = k[i] - i;
if (kCount.containsKey(key))
{
int count = kCount.get(key);
kCount.put(key, cou... 阅读全帖 |
|
c******t 发帖数: 391 | 27 在多次面试的online coding里都遇到这种情况,当实现一个返回值为int的搜索函数时
,有时会在if语句里判断是否符合搜索条件,如果符合即返回。但问题是,函数的
default返回值该怎样设,如果是搜索对象是数组下标,当然可以返回-1。但如果让返
回搜索的元素,该怎样解决呢?
举个例子,下面是一个用hashMap找数组里出现奇数次元素的代码(没测试):
public int findOdd(int[] arr){
HashMap map = new HashMap();
for(int i = 0; i
if(map.get(arr[i])==null)
map.put(arr[i],1);
else{
map.put(arr[i],map.get(arr[i])+1);
}
}
for(Map.Entry item... 阅读全帖 |
|
c*****a 发帖数: 808 | 28 怎么优化space,有报错 Run Status: Memory Limit Exceeded
本地IDE倒能跑
public class Solution {
public ArrayList> zigzagLevelOrder(TreeNode root) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> res = new ArrayList
>();
Queue queue = new LinkedList();
queue.offer(root);
queue.offer(null);
ArrayList row = new ArrayList();... 阅读全帖 |
|
e****e 发帖数: 418 | 29 Bless Louzhu.
Instead of using parentCount, use a map to record its parents. The code
might not be optimal, but it should work.
class TreeNode {
TreeNode left;
TreeNode right;
Map parentCount = new HashMap();
}
private boolean isSame(TreeNode n1, TreeNode n2, TreeNode p1, TreeNode p2) {
if ( n1 == null && n2 == null )
return true;
if ( n1 == null || n2 == null )
return false;
addParent( n1, p1 );
addParent( n2,... 阅读全帖 |
|
m*****1 发帖数: 147 | 30 public ArrayList> levelOrder(TreeNode root) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> array=new ArrayList>();
level(0,array,root);
return array;
}
public void level(int level,ArrayList> array,TreeNode
node){
if(node==null) return;
ArrayList list=null;
if(array.size()==level){
list=new ArrayList();
array.add(list)... 阅读全帖 |
|
j**7 发帖数: 143 | 31 public ArrayList> threeSum(int[] numbers) {
Arrays.sort(numbers);
ArrayList> list = new ArrayList
>>();
for (int i = 0; i < numbers.length; i++) {
if (i > 0 && numbers[i] == numbers[i - 1]) {
continue;
}
twoSumWhile(numbers, 0 - numbers[i], i + 1, list);
}
return list;
}
public void twoSumWhile(int[] numbers, int target, int start, ArrayList<... 阅读全帖 |
|
j**h 发帖数: 1230 | 32 void printN(int n) {
for (int i = 1; i < n; i++) {
for (int j = 1; j < n; j++) {
Set pairSet = getPairSet(i * j);
for (Pair pair : pairSet) {
System.out.println(i + "*" + j + "=" + pair.i + "*" +
pair.j);
}
}
}
}
Map> map = new HashMap>();
Set getPairSet(int product) {
if (map.containsKey(new Integer(product)))
... 阅读全帖 |
|
j**h 发帖数: 1230 | 33 void printN(int n) {
for (int i = 1; i < n; i++) {
for (int j = 1; j < n; j++) {
Set pairSet = getPairSet(i * j);
for (Pair pair : pairSet) {
System.out.println(i + "*" + j + "=" + pair.i + "*" +
pair.j);
}
}
}
}
Map> map = new HashMap>();
Set getPairSet(int product) {
if (map.containsKey(new Integer(product)))
... 阅读全帖 |
|
|
z****e 发帖数: 54598 | 35 leetcode 不超过两秒就可以过大oj
我用了800毫秒,还有1200毫秒富余
把你的code贴上来看看
Run Status: Accepted!
Program Runtime: 864 milli secs
public class Solution {
public ArrayList> fourSum(int[] num, int target) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> list = new ArrayList
>>();
Set set = new HashSet>();
Arrays.sort(num);
for(int i=0;i
... 阅读全帖 |
|
s**********e 发帖数: 326 | 36 昨天面的,面试官首先迟到了将近五分钟,上来面试官简单介绍了他自己,然后就直接
进入主题,也没有让我做自我介绍啥的,上来问我有没有用过java iterator pattern,
我给听成intepreter, 回答没用过,他不相信,又问了一遍,恍然大悟,赶紧说用过
用过,用过很多,然后他还说用java的人不可能没用过
然后问为什么用iterator, 有啥好处
答了之后接着问java里面有几种list, 答arraylist和linkedlist
又问实现这两种不同list的iterator有什么不同,到此为止都是对答如流,问他我答的
是不是他想要的答案,他说exactly
答完以后开始出题,先是写个data structure, 让我guess这是什么data structure,
class N {
private N l; // can be null
private N r; // can be null
private String data;
}
一紧张说成linkedlist, 赶紧改口说是tree,
然后就是描述问题,要求写一个Iterator, 每... 阅读全帖 |
|
D*T 发帖数: 75 | 37 想了一下,这个问题好像不是那么容易。楼主的code如果末尾有个空的List会出错。我
不太懂C++所以pdu的只是半懂,不过感觉我的想法和ta估计差不多。moridin的code很
神奇,我实在看不太懂。
下面是我的code,搞ArrayList还成,搞LinkedList可能就惨了。另外remove好像是ok
的。
import java.util.*;
class ArrayPosition {
ArrayList array;
int index;
ArrayPosition(ArrayList array) {
this.array = array;
index = 0;
}
Object peekItem() {
return array.get(index);
}
Object takeItem() {
return array.get(index++);
}
}
public class DeepIteratorII implements ... 阅读全帖 |
|
D*T 发帖数: 75 | 38 想了一下,这个问题好像不是那么容易。楼主的code如果末尾有个空的List会出错。我
不太懂C++所以pdu的只是半懂,不过感觉我的想法和ta估计差不多。moridin的code很
神奇,我实在看不太懂。
下面是我的code,搞ArrayList还成,搞LinkedList可能就惨了。另外remove好像是ok
的。
import java.util.*;
class ArrayPosition {
ArrayList array;
int index;
ArrayPosition(ArrayList array) {
this.array = array;
index = 0;
}
Object peekItem() {
return array.get(index);
}
Object takeItem() {
return array.get(index++);
}
}
public class DeepIteratorII implements ... 阅读全帖 |
|
y***d 发帖数: 1 | 39 lz第一题是这个意思把?
输出结果是:1223334444
public class IteratorTest {
public static void main(String args[]) {
// ArrayList input = new ArrayList();
MyArrayList input = new MyArrayList();
input.add(1);
input.add(1);
input.add(2);
input.add(2);
input.add(3);
input.add(3);
input.add(4);
input.add(4);
for(Integer item:input){
System.out.println(item);
}
}
}
cla... 阅读全帖 |
|
o***g 发帖数: 2784 | 40 讨论一道题
原帖如下:
6. http://www.mitbbs.com/article_t/JobHunting/32631467.html
发信人: goodbai (八段锦), 信区: JobHunting
标 题: 热腾腾g电面 已挂
发信站: BBS 未名空间站 (Fri Feb 21 00:20:19 2014, 美东)
同胞面试官,上来就gdoc做题。
2d array *代表障碍物 #代表货物 空白就是正常的路
问
如何找到一个点为出发点 能实现总共取货路径最短? 每次只能拿一个货物,遇到障碍
需要绕开,拿到以后要放回出发点,然后再取另一个
******
* # *
* *** *
* *
* ** *
* # #*
** ****
大牛们有什么好思路?我用的bfs,但因为之前讨论题目要求花了很久,没有写完。。
我还是太弱了,move on
==================================================================
我看了原帖主题里,都在讨论... 阅读全帖 |
|
r******g 发帖数: 138 | 41 对第四轮
public static String getDecimal(int a, int b){
if(a == 0)
return "0.0";
if(b == 0)
return "";
StringBuilder res = new StringBuilder();
res.append(a/b);
res.append(".");
int c = a;
HashMap mod = new HashMap();
ArrayList decimals = new ArrayList();
int index=0;
while(c%b !=0 && !mod.containsKey(c%b)){
... 阅读全帖 |
|
p****6 发帖数: 724 | 42 先遍历, 边遍历边给每个节点一个index, 比如root为0, 做left减1, right加1. 然后
建立一个HashMap, key是index, value是list
贴个java版本的
public List> printVertical1(TreeNode root){
List> res = new ArrayList>();
if(root == null)
return res;
Map> map = new HashMap
TreeNode>>();
getVertical(root, map, 0);
Set keys = new TreeSet(map.keySet());
... 阅读全帖 |
|
g**********y 发帖数: 14569 | 43 1. 拉格朗日定理:任何一个整数都可以分解成4个整数的平方和。
2. a_i <= sqrt(T)
3. BFS, search one square sum (0 ~ sqrt(T)), then two square sum, ... it
will end at most level 4.
程序可能可以更高效 --
public List split(int N) {
int n = (int) Math.sqrt(N);
int[] square = new int[n];
for (int i=0; i
List[] res = new List[N];
res[0] = new ArrayList();
Queue queue = new ArrayDeque();
q... 阅读全帖 |
|
r*******e 发帖数: 971 | 44 我改了一下,这要不过不了也没办法了,不用recursion实在麻烦。
public List> getFactorCombination(int n) {
List> result = new ArrayList<>();
getFactorCombinationHelper(n, n/2, result, new ArrayList());
return result;
}
private void getFactorCombinationHelper(int n, int start, List
> result, List sub) {
if(n==1) {
result.add(new ArrayList(sub));
return;
}
for(int i = start; i... 阅读全帖
|
|
r*******e 发帖数: 971 | 45 我改了一下,这要不过不了也没办法了,不用recursion实在麻烦。
public List> getFactorCombination(int n) {
List> result = new ArrayList<>();
getFactorCombinationHelper(n, n/2, result, new ArrayList());
return result;
}
private void getFactorCombinationHelper(int n, int start, List
> result, List sub) {
if(n==1) {
result.add(new ArrayList(sub));
return;
}
for(int i = start; i... 阅读全帖
|
|
w*******s 发帖数: 96 | 46 import java.util.ArrayList;
import java.util.List;
public class FactorTest {
List> getFactor(int n) {
List> result = new ArrayList<>();
List path = new ArrayList<>();
dfs(n, n / 2, path, result);
return result;
}
private void dfs(int n, int start, List path, List
>> result) {
if (n == 1) {
result.add(new ArrayList(path));
return;
}
... 阅读全帖 |
|
s*********p 发帖数: 130 | 47
这题这么写可以吗?
分别把start array and end array排序,然后线性向下扫。
但是加入输入不把start 和 end 分开,而是向leetcode 那样建一个Interval class,
怎么保证start 和 end都有序呢?
public class Solution {
public int numOverLaps(List start, List end) {
if (start == null || start.size() == 0 || end == null || end.size()
== 0) {
return 0;
}
if (start.size() != end.size()) {
return 0;
}
Collections.sort(start);
Collections.sort(end);
... 阅读全帖 |
|
l*****a 发帖数: 14598 | 48 List> func(int n) {
List> result= new ArrayList>();
List cur=new ArrayList<>();
get(n,2,cur,result);
return result;
}
public get(int target,int start,List cur,List> result
) {
if(target==1) {
result.add(new ArrayList(cur));
return;
}
for(int i=start;i<=target/2;i++) {
if(target%i==0) {
cur.add(i);
get(target/i,i,c... 阅读全帖 |
|
s*********p 发帖数: 130 | 49 那个最小会议室的这样行吗?先按开始时间和结束时间排序,然后逐个对比,有点类似
merge sort 的merge 阶段。
public class Solution {
public int numOverLaps(List start, List end) {
if (start == null || start.size() == 0 || end == null || end.size()
== 0) {
return 0;
}
if (start.size() != end.size()) {
return 0;
}
Collections.sort(start);
Collections.sort(end);
int startP = 0;
int endP = 0;
int nu... 阅读全帖 |
|
s*********p 发帖数: 130 | 50 那个最小会议室的这样行吗?先按开始时间和结束时间排序,然后逐个对比,有点类似
merge sort 的merge 阶段。
public class Solution {
public int numOverLaps(List start, List end) {
if (start == null || start.size() == 0 || end == null || end.size()
== 0) {
return 0;
}
if (start.size() != end.size()) {
return 0;
}
Collections.sort(start);
Collections.sort(end);
int startP = 0;
int endP = 0;
int nu... 阅读全帖 |
|