关注
// ====== 填入你自己的逻辑 ========
/////********************************/////
/*
看了大家的回复,才知道自己漏看了题目,后来想了想,现将思路贴出来,供大家交流
具体见我的博客: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;
}
// ====== 结束 ========
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 你会和mentor进行deeptalk吗?2415
- 2... 双非本2025秋招总结:65w+SSP三选一,最终还是“有鹅选鹅”|附面试心路历程1829
- 3... 金丹后期牛友!我们新年再见1775
- 4... 牛客运营们,我保证这是我最后一次消费烤肠了!1257
- 5... 学院本 末 211 硕勇闯 java 后端实习美团 oc 逆袭指南1145
- 6... 27届学院本一段中厂一段中大厂实习,简历求锐评869
- 7... 元旦前被裁员了725
- 8... 27前端已没招668
- 9... 2025年牛客年度作者丨颁奖典礼✨622
- 10... 试图解B题时一路上的投机取巧622
正在热议
更多
# 对2025年忏悔 #
6562次浏览 119人参与
# 互联网行业现在还值得去吗 #
48098次浏览 356人参与
# 实习没人带,苟住还是跑路? #
15006次浏览 291人参与
# 春招前还要继续实习吗? #
7674次浏览 93人参与
# 一人说一家双休的公司 #
9457次浏览 111人参与
# 移动求职进展汇总 #
18865次浏览 149人参与
# 你找工作的时候用AI吗? #
166171次浏览 865人参与
# 国企秋招,你投了吗? #
55420次浏览 364人参与
# 元旦假期你打算怎么过 #
9846次浏览 187人参与
# 工作前VS工作后,你的心态变化 #
31730次浏览 249人参与
# 面试官问过你最刁钻的问题是什么? #
12142次浏览 112人参与
# 职场新人生存指南 #
491902次浏览 9518人参与
# 大家实习都在做什么? #
9691次浏览 102人参与
# 我的AI电子员工 #
24500次浏览 155人参与
# 我们是不是被“优绩主义”绑架了? #
10286次浏览 308人参与
# OPPO求职进展汇总 #
758895次浏览 5392人参与
# 你觉得专业和学校哪个对薪资影响最大 #
87890次浏览 587人参与
# 华为工作体验 #
279185次浏览 1360人参与
# 通信/硬件公司求职体验 #
184522次浏览 1032人参与
# 通信硬件薪资爆料 #
1189072次浏览 7185人参与
顺丰集团工作强度 387人发布
查看8道真题和解析