第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

測試兩個整數(shù)范圍是否重疊的最有效方法是什么?

測試兩個整數(shù)范圍是否重疊的最有效方法是什么?

一只名叫tom的貓 2019-10-24 10:45:33
給定兩個包含整數(shù)的范圍[x1:x2]和[y1:y2],其中x1≤x2且y1≤y2,測試這兩個范圍是否存在重疊的最有效方法是什么?一個簡單的實現(xiàn)如下:bool testOverlap(int x1, int x2, int y1, int y2) {  return (x1 >= y1 && x1 <= y2) ||         (x2 >= y1 && x2 <= y2) ||         (y1 >= x1 && y1 <= x2) ||         (y2 >= x1 && y2 <= x2);}但我希望有更有效的方法來進行計算。就最少的操作而言,哪種方法是最有效的。
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

這很容易扭曲正常的人腦,因此我發(fā)現(xiàn)一種視覺方法更容易理解:

http://img1.sycdn.imooc.com//5db110720001658707080345.jpg

解釋

如果兩個范圍“太胖”以致不能恰好是兩個寬度的總和,則它們會重疊。


對于范圍[a1, a2],[b1, b2]這將是:


/**

 * we are testing for:

 *     max point - min point < w1 + w2    

 **/

if max(a2, b2) - min(a1, b1) < (a2 - a1) + (b2 - b1) {

  // too fat -- they overlap!

}


查看完整回答
反對 回復 2019-10-24
  • 3 回答
  • 0 關注
  • 704 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號