Redian新闻
>
leetcode 的 Insert Interval 就是过不了大的
avatar
leetcode 的 Insert Interval 就是过不了大的# JobHunting - 待字闺中
c*u
1
求好心人帮我看看,想用in place, 就是过不了大的,折腾好久了,遇到这个的时候挂
了:
Last executed input
[[3,5],[12,15]], [6,6]
code:
class Solution {
public:
vector insert(vector &intervals, Interval newInterval) {
bool is_new_inserted = false;
for(vector::iterator it = intervals.begin(); it< intervals.end
(); it++){
if ((*it).end < newInterval.start){
continue;
}
if ((*it).start > newInterval.end){
if(!is_new_inserted){
intervals.insert(it, newInterval);
is_new_inserted = true;
}
continue;
}
newInterval.start = min(newInterval.start, (*it).start);
newInterval.end = max(newInterval.end, (*it).end);
intervals.erase(it);
it--;
}
if(!is_new_inserted)
intervals.push_back(newInterval);
return intervals;
}
};
avatar
c*u
2
求求好心人帮我看看了
avatar
B*1
3
弱问,vector,你insert,怎么in place的啊?

{
end

【在 c*******u 的大作中提到】
: 求好心人帮我看看,想用in place, 就是过不了大的,折腾好久了,遇到这个的时候挂
: 了:
: Last executed input
: [[3,5],[12,15]], [6,6]
: code:
: class Solution {
: public:
: vector insert(vector &intervals, Interval newInterval) {
: bool is_new_inserted = false;
: for(vector::iterator it = intervals.begin(); it< intervals.end

avatar
l*b
4
in place没意义吧,这个是个vector的
avatar
c*u
5
我弱了,为什么vector 不能in place 呢,以为in place就是试用固定的,小的额外空
间。。。还有为什么大的过不了呢
avatar
l*b
6
要在原数组上做,函数就不要返回值了呀。如果插入的区间基本随机,in place 一样
要写很多数据。vector 本身分配就是用了富余空间的,所以这个问题大约不在乎in
place 吧

【在 c*******u 的大作中提到】
: 我弱了,为什么vector 不能in place 呢,以为in place就是试用固定的,小的额外空
: 间。。。还有为什么大的过不了呢

avatar
c*u
7
恩,好像是的,谢谢!

【在 l*******b 的大作中提到】
: 要在原数组上做,函数就不要返回值了呀。如果插入的区间基本随机,in place 一样
: 要写很多数据。vector 本身分配就是用了富余空间的,所以这个问题大约不在乎in
: place 吧

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。