335. Self Crossing

You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to the north, then x[1] metres to the west, x[2] metres to the south, x[3] metres to the east and so on. In other words, after each move your direction changes counter-clockwise.

Write a one-pass algorithm with O(1) extra space to determine, if your path crosses itself, or not.

Example 1:

Given x = 
[2, 1, 1, 2]
,
?????
?   ?
???????>
    ?

Return true (self crossing)

Example 2:

Given x = 
[1, 2, 3, 4]
,
????????
?      ?
?
?
?????????????>

Return false (not self crossing)

Example 3:

Given x = 
[1, 1, 1, 1]
,
?????
?   ?
?????>

Return true (self crossing)

一刷
題解:
這道題給了我們一個(gè)一位數(shù)組,每個(gè)數(shù)字是個(gè)移動(dòng)量,按照上左下右的順序來(lái)前進(jìn)每一個(gè)位移量,問(wèn)我們會(huì)不會(huì)和之前的軌跡相交,而且限定了常量的空間復(fù)雜度。實(shí)際上相交的情況只有以下三種情況:

第一類是第四條邊和第一條邊相交的情況,需要滿足的條件是第一條邊大于等于第三條邊,第四條邊大于等于第二條邊。同樣適用于第五條邊和第二條邊相交,第六條邊和第三條邊相交等等,依次向后類推的情況...

     x(1)
    ┌───┐
x(2)│   │x(0)
    └───┼──>
    x(3)│

第二類是第五條邊和第一條邊重合相交的情況,需要滿足的條件是第二條邊和第四條邊相等,第五條邊大于等于第三條邊和第一條邊的差值,同樣適用于第六條邊和第二條邊重合相交的情況等等依次向后類推...

      x(1)
    ┌──────┐
    │      │x(0)
x(2)│      ^
    │      │x(4)
    └──────│
      x(3)

第三類是第六條邊和第一條邊相交的情況,需要滿足的條件是第四條邊大于等于第二條邊,第三條邊大于等于第五條邊,第五條邊大于等于第三條邊和第一條邊的差值,第六條邊大于等于第四條邊和第二條邊的差值,同樣適用于第七條邊和第二條邊相交的情況等等依次向后類推...

      x(1)
    ┌──────┐
    │      │x(0)
x(2)│     <│────│
    │       x(5)│x(4)
    └───────────│
        x(3)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 01 最近正在澳大利亞旅行,與很多華人朋友聊天,發(fā)現(xiàn)很多人都對(duì)東西方文化差異有著自己一些切身的感受。 其實(shí)中國(guó)人能...
    妮妮小屋閱讀 372評(píng)論 3 7
  • 每個(gè)人在前行的旅途中都有一種迷茫的傾向,這也致使人們?cè)诜植媛房诘牟煌駬?,往往這也是人們未來(lái)區(qū)分的指示標(biāo),因?yàn)槟愕?..
    告白其亭閱讀 152評(píng)論 0 0
  • 雨催三千愁, 落紅憔顏休。 河畔鴛鴦獨(dú), 哀看水東流。
    草芥人閱讀 240評(píng)論 0 0
  • 五月很快結(jié)束了, 遺憾的是得到的課程落后了很多,日反思的質(zhì)量寫(xiě)的也不好。 開(kāi)心的是記錄了厚厚的工作筆記,辛苦與努力...
    暖暖的大樹(shù)閱讀 206評(píng)論 0 0
  • 文/千乾淺倩 接觸過(guò)很多男同學(xué),雖然不太可能記住他們每個(gè)人的模樣,但往往會(huì)去記名字。然后發(fā)現(xiàn),男孩子名字常用的字比...
    千乾淺倩閱讀 21,345評(píng)論 216 938

友情鏈接更多精彩內(nèi)容