由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 多年不打鱼连网都不会用了
相关主题
G家题目讨论:所有的subarray sum 在一个 区间也问一个median的问题
问G家一题关于找最大半径K子集的DP题的总结(更新非DP算法)
Longest Palindromic Substring from leetcode问道题
Search for a Range - leetcode问个面试题目
请教Leetcode 上的 Sudoku solver4sum的那道题
Leetcode书中missing range一题的答案是不是错的?求暴力fibonacci的复杂度
昨天面试的题目上楼梯问题的时间复杂度是o(n)还是 nlogn?
Fibonacci序列的时间和空间复杂度是多少呀?问个复杂度
相关话题的讨论汇总
话题: addrange话题: queryrange话题: range话题: leetcode
进入JobHunting版参与讨论
1 (共1页)
A*****i
发帖数: 3587
1
今天刚被一个游戏公司虐了
原题如下:
三个methods: addRange(), queryRange(), deleteRange();
addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
个例子:
addRange(10, 200);
addRange(250, 500);
然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
deleteRange很简单只要delete掉相应的range就可以
弄了很久总觉得不能优化……遂放弃
f*****e
发帖数: 2992
2
不是leetcode题么?周六面试比较奇葩。

【在 A*****i 的大作中提到】
: 今天刚被一个游戏公司虐了
: 原题如下:
: 三个methods: addRange(), queryRange(), deleteRange();
: addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
: 字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
: 个例子:
: addRange(10, 200);
: addRange(250, 500);
: 然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
: deleteRange很简单只要delete掉相应的range就可以

A*****i
发帖数: 3587
3
想知道有没有最优解……
leetcode上现在有解了?

【在 f*****e 的大作中提到】
: 不是leetcode题么?周六面试比较奇葩。
e***a
发帖数: 1661
4
what is the name of this company?
A*****i
发帖数: 3587
5
machine zone
游戏公司用来练手的,没想到丫也从leetcode上出题啊
真没节操
y***n
发帖数: 1594
6
我怎么没有见过
x******r
发帖数: 367
7
这是leetcode哪个题?
好像没见过。

【在 A*****i 的大作中提到】
: machine zone
: 游戏公司用来练手的,没想到丫也从leetcode上出题啊
: 真没节操

p*****2
发帖数: 21240
8
大牛这题怎么解的?他们有复杂度要求吗?
A*****i
发帖数: 3587
9
我擦我就是想不出更牛逼的办法了才来问的
没复杂度要求但是说目标数组是M级别的所以需要优化时间和空间……

【在 p*****2 的大作中提到】
: 大牛这题怎么解的?他们有复杂度要求吗?
p*****2
发帖数: 21240
10

O(n)的话比较容易,M级别感觉O(n)也够了,不然就上interval tree?

【在 A*****i 的大作中提到】
: 我擦我就是想不出更牛逼的办法了才来问的
: 没复杂度要求但是说目标数组是M级别的所以需要优化时间和空间……

相关主题
Leetcode书中missing range一题的答案是不是错的?也问一个median的问题
昨天面试的题目关于找最大半径K子集的DP题的总结(更新非DP算法)
Fibonacci序列的时间和空间复杂度是多少呀?问道题
进入JobHunting版参与讨论
A*****i
发帖数: 3587
11
我觉得O(N)太容易了,弄个大点儿的数组就成,但是我觉得人家的要求应该在O(1)左右
我开始写个O(N)的发现太容易了,觉得人家给我俩小时不能就弄个这吧……结果琢磨到
点儿了还没想出更好的

【在 p*****2 的大作中提到】
:
: O(n)的话比较容易,M级别感觉O(n)也够了,不然就上interval tree?

p*****2
发帖数: 21240
12

左右
O(N) bug free也不容易。O(1)不可能吧,最多就是优化到logN吧。

【在 A*****i 的大作中提到】
: 我觉得O(N)太容易了,弄个大点儿的数组就成,但是我觉得人家的要求应该在O(1)左右
: 我开始写个O(N)的发现太容易了,觉得人家给我俩小时不能就弄个这吧……结果琢磨到
: 点儿了还没想出更好的

t*********h
发帖数: 941
13
这个按左边边界binary search一下 发现180 在10,250之间那肯定就没在range里了
log(n)

【在 A*****i 的大作中提到】
: 今天刚被一个游戏公司虐了
: 原题如下:
: 三个methods: addRange(), queryRange(), deleteRange();
: addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
: 字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
: 个例子:
: addRange(10, 200);
: addRange(250, 500);
: 然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
: deleteRange很简单只要delete掉相应的range就可以

d******g
发帖数: 42
14
把rang存为pair
class Pair{
int start;
int end;
}
然后每次addRang()的时候对已经存在的pair进行融合,,,
然后query的时候就进行比较,
感觉就是lc原题啊..有点变化,时间复杂度是多少?我不知道啊...总之好于O(n)
m********l
发帖数: 791
15
不是吧
右边界也要考虑啊
(180, 190) 就是返回true啊

【在 t*********h 的大作中提到】
: 这个按左边边界binary search一下 发现180 在10,250之间那肯定就没在range里了
: log(n)

m********l
发帖数: 791
16
哪道原题啊
我咋没有印象

【在 d******g 的大作中提到】
: 把rang存为pair
: class Pair{
: int start;
: int end;
: }
: 然后每次addRang()的时候对已经存在的pair进行融合,,,
: 然后query的时候就进行比较,
: 感觉就是lc原题啊..有点变化,时间复杂度是多少?我不知道啊...总之好于O(n)

t*********h
发帖数: 941
17
每次addrange之后你都要merge好 这样每次查询看一边就可以了

【在 m********l 的大作中提到】
: 不是吧
: 右边界也要考虑啊
: (180, 190) 就是返回true啊

A*****i
发帖数: 3587
18
今天刚被一个游戏公司虐了
原题如下:
三个methods: addRange(), queryRange(), deleteRange();
addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
个例子:
addRange(10, 200);
addRange(250, 500);
然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
deleteRange很简单只要delete掉相应的range就可以
弄了很久总觉得不能优化……遂放弃
f*****e
发帖数: 2992
19
不是leetcode题么?周六面试比较奇葩。

【在 A*****i 的大作中提到】
: 今天刚被一个游戏公司虐了
: 原题如下:
: 三个methods: addRange(), queryRange(), deleteRange();
: addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
: 字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
: 个例子:
: addRange(10, 200);
: addRange(250, 500);
: 然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
: deleteRange很简单只要delete掉相应的range就可以

A*****i
发帖数: 3587
20
想知道有没有最优解……
leetcode上现在有解了?

【在 f*****e 的大作中提到】
: 不是leetcode题么?周六面试比较奇葩。
相关主题
问个面试题目上楼梯问题的时间复杂度是o(n)还是 nlogn?
4sum的那道题问个复杂度
求暴力fibonacci的复杂度Young table的搜索最快能到多少阿?
进入JobHunting版参与讨论
e***a
发帖数: 1661
21
what is the name of this company?
A*****i
发帖数: 3587
22
machine zone
游戏公司用来练手的,没想到丫也从leetcode上出题啊
真没节操
y***n
发帖数: 1594
23
我怎么没有见过
x******r
发帖数: 367
24
这是leetcode哪个题?
好像没见过。

【在 A*****i 的大作中提到】
: machine zone
: 游戏公司用来练手的,没想到丫也从leetcode上出题啊
: 真没节操

p*****2
发帖数: 21240
25
大牛这题怎么解的?他们有复杂度要求吗?
A*****i
发帖数: 3587
26
我擦我就是想不出更牛逼的办法了才来问的
没复杂度要求但是说目标数组是M级别的所以需要优化时间和空间……

【在 p*****2 的大作中提到】
: 大牛这题怎么解的?他们有复杂度要求吗?
p*****2
发帖数: 21240
27

O(n)的话比较容易,M级别感觉O(n)也够了,不然就上interval tree?

【在 A*****i 的大作中提到】
: 我擦我就是想不出更牛逼的办法了才来问的
: 没复杂度要求但是说目标数组是M级别的所以需要优化时间和空间……

A*****i
发帖数: 3587
28
我觉得O(N)太容易了,弄个大点儿的数组就成,但是我觉得人家的要求应该在O(1)左右
我开始写个O(N)的发现太容易了,觉得人家给我俩小时不能就弄个这吧……结果琢磨到
点儿了还没想出更好的

【在 p*****2 的大作中提到】
:
: O(n)的话比较容易,M级别感觉O(n)也够了,不然就上interval tree?

p*****2
发帖数: 21240
29

左右
O(N) bug free也不容易。O(1)不可能吧,最多就是优化到logN吧。

【在 A*****i 的大作中提到】
: 我觉得O(N)太容易了,弄个大点儿的数组就成,但是我觉得人家的要求应该在O(1)左右
: 我开始写个O(N)的发现太容易了,觉得人家给我俩小时不能就弄个这吧……结果琢磨到
: 点儿了还没想出更好的

t*********h
发帖数: 941
30
这个按左边边界binary search一下 发现180 在10,250之间那肯定就没在range里了
log(n)

【在 A*****i 的大作中提到】
: 今天刚被一个游戏公司虐了
: 原题如下:
: 三个methods: addRange(), queryRange(), deleteRange();
: addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
: 字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
: 个例子:
: addRange(10, 200);
: addRange(250, 500);
: 然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
: deleteRange很简单只要delete掉相应的range就可以

相关主题
LCA复杂度是多少问G家一题
LCA复杂度Longest Palindromic Substring from leetcode
G家题目讨论:所有的subarray sum 在一个 区间Search for a Range - leetcode
进入JobHunting版参与讨论
d******g
发帖数: 42
31
把rang存为pair
class Pair{
int start;
int end;
}
然后每次addRang()的时候对已经存在的pair进行融合,,,
然后query的时候就进行比较,
感觉就是lc原题啊..有点变化,时间复杂度是多少?我不知道啊...总之好于O(n)
m********l
发帖数: 791
32
不是吧
右边界也要考虑啊
(180, 190) 就是返回true啊

【在 t*********h 的大作中提到】
: 这个按左边边界binary search一下 发现180 在10,250之间那肯定就没在range里了
: log(n)

m********l
发帖数: 791
33
哪道原题啊
我咋没有印象

【在 d******g 的大作中提到】
: 把rang存为pair
: class Pair{
: int start;
: int end;
: }
: 然后每次addRang()的时候对已经存在的pair进行融合,,,
: 然后query的时候就进行比较,
: 感觉就是lc原题啊..有点变化,时间复杂度是多少?我不知道啊...总之好于O(n)

t*********h
发帖数: 941
34
每次addrange之后你都要merge好 这样每次查询看一边就可以了

【在 m********l 的大作中提到】
: 不是吧
: 右边界也要考虑啊
: (180, 190) 就是返回true啊

d******n
发帖数: 22
35
请问大神,后来又拿到onsite吗?

【在 A*****i 的大作中提到】
: 今天刚被一个游戏公司虐了
: 原题如下:
: 三个methods: addRange(), queryRange(), deleteRange();
: addRange用来给定一个范围内的数字比如addRange(10, 200)表示10到200这个区间的数
: 字被加入到range中,queryRange用来判定当前range有没有在被加进去的range里面举
: 个例子:
: addRange(10, 200);
: addRange(250, 500);
: 然后再queryRange(180, 300)的时候应该返回false,因为有201-249这一段没有被加入
: deleteRange很简单只要delete掉相应的range就可以

t**********h
发帖数: 2273
36
不是lc 题

【在 f*****e 的大作中提到】
: 不是leetcode题么?周六面试比较奇葩。
l*****a
发帖数: 14598
37
addRange不就是insert interval吗?
query 也差不多,binary search找出start/end的插入位置,就可以判断是不是在原来
区间了

【在 t**********h 的大作中提到】
: 不是lc 题
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个复杂度请教Leetcode 上的 Sudoku solver
Young table的搜索最快能到多少阿?Leetcode书中missing range一题的答案是不是错的?
LCA复杂度是多少昨天面试的题目
LCA复杂度Fibonacci序列的时间和空间复杂度是多少呀?
G家题目讨论:所有的subarray sum 在一个 区间也问一个median的问题
问G家一题关于找最大半径K子集的DP题的总结(更新非DP算法)
Longest Palindromic Substring from leetcode问道题
Search for a Range - leetcode问个面试题目
相关话题的讨论汇总
话题: addrange话题: queryrange话题: range话题: leetcode