关注
// ====== 填入你自己的逻辑 ========
/////********************************/////
/*
看了大家的回复,才知道自己漏看了题目,后来想了想,现将思路贴出来,供大家交流
具体见我的博客:http://blog.csdn.net/bxw1992/article/details/74534157 目的:最多可以取出多少个能够组成嵌套集
思路:
如果存在一个子嵌套集,而新增加的一个二段模式与子嵌套集的某个二段模式冲突(不相互嵌套),它虽然不能加入该嵌套子集,
但是它却可以和该子集中不冲突的其他二段模式组成子集,所以很难处理。因此,从这个角度来思考,太过于复杂。
从上面的思路中我们可以得到一些有用的结论:针对存在的一个子嵌套集,新的二段模式的加入,可以生成新的子嵌套集,也就
是造成分支;进一步我们可以认为,一个二段模式最多可以生成一个分支,而且一个分支主要是因为某个二段模式与其他嵌套集
冲突造成的,也就是一个二段模式可以对应一个嵌套集;N个二段模式最多组成N个独立的嵌套集。
算法流程:
1、初始N个嵌套集,分别包含编号0~N-1二段模式
2、针对某个二段模式,遍历查看是否可以满足加入嵌套集的条件(两两相互嵌套,而且该二段模式之前不存在)
满足的话,将其加入
3、找出最大的嵌套集
*/
/////********************************/////
inline bool operator==(const Interval& a, const Interval& b)
{
return (a.right() == b.right()) && (a.left() == b.left());
}
inline bool operator==(const TwoInterval& a, const TwoInterval& b)
{
return (a.right() == b.right()) && (a.left() == b.left());
}
bool confl(const TwoInterval& a, const TwoInterval& b)
{
if (!(within(a, b) || within(b, a))) return true;
if (a == b) return true;
return false;
}
bool add(vector<TwoInterval> &a, TwoInterval b)
{
for (TwoInterval ti : a)
{
if (confl(ti,b))
{
return false;
}
}
a.push_back(b);
return true;
}
int intussusception(vector<TwoInterval>& two2)
{
int len = two2.size();
if (len < 2) return len;
int max = 0;
vector<vector<TwoInterval> > res(len);
for (int i = 0; i < len; i++)
{
res[i].push_back(two2[i]);
}
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len; j++)
{
add(res[j], two2[i]);
}
}
for (int i = 0; i < len; i++)
{
if (res[i].size()>max)
{
max = res[i].size();
}
}
return max;
}
// ====== 结束 ========
查看原帖
点赞 评论
相关推荐
查看10道真题和解析 点赞 评论 收藏
分享
11-17 11:15
门头沟学院 Java star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 双9Java0基础➡秋招4×大厂offer,这一年我到底干了什么?5456
- 2... 要不是有我,你们早就在一起了3344
- 3... 【奖】别再瞎猜!26校招真实薪资大揭秘,帮你快速避坑!3242
- 4... 我父母让我忍受所有工作上的欺辱3141
- 5... 进大厂是因为老家找不到工作3004
- 6... 快手员工自费给+2庆生?太带派了烙铁2857
- 7... 月薪多少才能过上"体面生活"1851
- 8... 27届学院本两段实习后的职业规划再思考1307
- 9... 秋招收尾 0offer如何备战大厂春招1287
- 10... 携程你倒是动一动呀1249
正在热议
更多
# 我的职场社死时刻 #
4975次浏览 73人参与
# 你最满意的offer薪资是哪家公司? #
51139次浏览 260人参与
# 腾讯音乐秋招 #
417590次浏览 4724人参与
# 职场中那些令人叹为观止的八卦 #
5273次浏览 75人参与
# 聊聊你的职场新体验 #
293438次浏览 1807人参与
# 月薪多少能在一线城市生存 #
88000次浏览 598人参与
# 小红书开奖了 #
9025次浏览 62人参与
# 中科曙光工作体验 #
4315次浏览 22人参与
# 那些年,我收到的‘奇葩’回复 #
2911次浏览 34人参与
# 秋招吐槽大会 #
28970次浏览 282人参与
# 租房前辈的忠告 #
270237次浏览 7161人参与
# 秋招你经历过哪些无语的事 #
3407次浏览 50人参与
# XX请雇我工作 #
4144次浏览 62人参与
# 你秋招最后悔的选择 #
4457次浏览 48人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
38934次浏览 400人参与
# 你找工作想离家近 or 离家远? #
4732次浏览 81人参与
# 交通银行工作体验 #
20146次浏览 68人参与
# 京东工作体验 #
21083次浏览 120人参与
# 哪些公司开始补录了 #
4157次浏览 67人参与
# 你父母给过你哪些不靠谱的职场建议? #
5418次浏览 84人参与
# 如何拒绝/反向PUA #
81212次浏览 365人参与
# 谈薪时HR压价该怎么应对 #
241333次浏览 3299人参与