如何判断两段连续的数值没有重叠?

rroamer 2008-12-05 01:07:17
比如如下一个函数:

bool func(int minimumValue1, int maximumValue1, int minimumValue2, int maxmumValue2)
{

}


1:
func(2,5, 3,6);
返回 true, 有数值重叠

2: func(2, 8, 9, 20);
返回 false,无重叠

3: func(5, 10, 2,5);
返回true,有重叠

4: func(6, 8, 1, 7);
返回 true,有重叠


我自己写了一个,就是简单的把各种情况进行比较,觉得代码太啰嗦了,各位有没有简洁一点的代码?
...全文
180 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rroamer 2008-12-05
  • 打赏
  • 举报
回复
最后那几句有点错误,应该是:



if (maximumValue2==maximumValue1 || maximumValue2==minimumValue1)
{
return false;
}

if (minimumValue2==maximumValue1 || minimumValue2==minimumValue1)
{
return false;
}



rroamer 2008-12-05
  • 打赏
  • 举报
回复

bool func(int minimumValue1, int maximumValue1, int minimumValue2, int maximumValue2)
{
if (minimumValue1<=0 || minimumValue1>=65535)
{
return false;
}

if (minimumValue2<=0 || minimumValue2>=65535)
{
return false;
}




if (maximumValue2>minimumValue1 && maximumValue2<maximumValue1)
{
return false;
}

if (minimumValue2>minimumValue1 && minimumValue2<maximumValue1)
{
return false;
}


if (maximumValue1>minimumValue2 && maximumValue1<maximumValue2)
{
return false;
}

if (minimumValue1>minimumValue2 && minimumValue1<maximumValue2)
{
return false;
}



if (maximumValue2==maximumValue1 || maximumValue2==maximumValue1)
{
return false;
}

if (minimumValue2==maximumValue1 || minimumValue2==maximumValue1)
{
return false;
}



return true;

}
wiowei 2008-12-05
  • 打赏
  • 举报
回复
不复杂啊
bool func(int min1, int max1, int min2, int max2)
{
if(min1 > max2 || min2 > max1)
return false;
else
return true;
}
jiww03 2008-12-05
  • 打赏
  • 举报
回复
如果前面的两个数中的一个在后面两个数之间或后面两个数中的一个在前面两个数之间,true,否则,false
DarknessTM 2008-12-05
  • 打赏
  • 举报
回复
LS的,搞个 bResult 出来根本没啥用处么…… 直接return 不容易出问题
wh0588 2008-12-05
  • 打赏
  • 举报
回复
随便写了,不知道你嫌不嫌啰嗦
bool func(int minmumValue1, int maxmumValue1, int minmumValue2, int maxmumValue2)
{
if (minmumValue1 > maxmumValue1 || minmumValue2 > maxmumValue2)
{
return false;
}

bool bResult = false;
if (minmumValue1 == minmumValue2)
{
bResult = true;
}
else if (minmumValue1 < minmumValue2)
{
if (maxmumValue1 >= minmumValue2)
{
bResult = true;
}
}
else
{
if (maxmumValue2 >= minmumValue1)
{
bResult = true;
}
}
return bResult;
}
一条晚起的虫 2008-12-05
  • 打赏
  • 举报
回复
ASSERT(min1 <= max1 && min2 <= max2); 
return (min1 <= max2) && (max1 >= min2);
Tinary3v0 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 windyloft 的回复:]
最简单的也是最高效的。
[/Quote]
我觉得也是 如果用别的方法不见得就比用判断运算量少,虽然代码看起来或者写起来有点麻烦 但是应该是最好的方法了。
cnzdgs 2008-12-05
  • 打赏
  • 举报
回复
return minimumValue1 <= maxmumValue2 && maximumValue1 >= minimumValue2;
一条晚起的虫 2008-12-05
  • 打赏
  • 举报
回复
(min1 <= min2) && (max1 >= min2)
||
(min1 >= min2) && (min1 <= max2)
灰灰2006 2008-12-05
  • 打赏
  • 举报
回复
比较边值就可以了

bool func(int minimumValue1, int maximumValue1, int minimumValue2, int maxmumValue2)
{
ASSERT(minimumValue1 <= maximumValue1 && minimumValue2 <= maxmumValue2);
if (maximumValue1 >= minimumValue2 && minimumValue1 >= maxmumValue2)
return true
return false;
}
DarknessTM 2008-12-05
  • 打赏
  • 举报
回复
4个判断啊
windyloft 2008-12-05
  • 打赏
  • 举报
回复
最简单的也是最高效的。
内容概要:本文介绍了DeepSeek在职场中的应用,从提示语技巧到多场景应用,涵盖了DeepSeek的基础模型(V3)、深度思考模型(R1)及其联网搜索功能。文中详细描述了DeepSeek的模型对比,包括操作规范、结果导向、路径灵活性、响应模式和风险特征等方面。此外,还探讨了DeepSeek在制作可视化图表、PPT、海报、视频以及批量生成新媒体文案等具体应用场景中的使用方法和技巧。最后,文章展示了DeepSeek在市场调查、AI应用开发等方面的应用实例,强调了其在人机协同和共生领域的潜力。 适用人群:适用于希望提升工作效率和创新能力的职场人士,特别是从事数据分析、内容创作、市场营销、AI开发等领域的专业人士。 使用场景及目标:①通过DeepSeek的基础模型(V3)和深度思考模型(R1)进行高效的任务处理和复杂推理;②利用DeepSeek制作可视化图表、PPT、海报和视频,提高内容创作的质量和效率;③通过DeepSeek进行市场调查和AI应用开发,优化业务流程并推动创新。 其他说明:DeepSeek不仅提供了强大的AI工具,还强调了人机协同的重要性。用户在使用过程中应注意操作规范,结合实际需求选择合适的模型,并充分利用DeepSeek的各项功能来实现高效的职场应用。文中还提到了多个国际竞赛中的获奖情况,展示了DeepSeek团队在AI领域的卓越实力。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧