使用邏輯運算子避免大量的判斷語句

2021-10-11 04:05:16 字數 1176 閱讀 3869

今天在力扣刷演算法題目的時候,看到了一條評級為簡單的演算法,於是打算一鼓作氣快速地搞定它,最後雖然通過它的錯誤提示完成了這個演算法要求,但是書寫的**又臭又長(可能很多人都會面臨這樣的問題吧)。主要就是條件判斷語句的出現次數太多了。後來看了官方的解題思路,才發現邏輯運算可以避免大量的條件判斷。上菜!

種花問題

假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。

給定乙個花壇(表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花),和乙個數 n 。能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。

略加思索後,我寫出來的**是這樣的:

class

solution

continue;}

// 當遍歷到最後乙個元素的時候

if(i == flowerbed.length -1)

continue;}

// 中間位置的判斷

if(flowerbed[i]!=1

&& flowerbed[i+1]

!=1&& flowerbed[i-1]

!=1)}

}if(n <=0)

return

true

;return

false;}

}

可以看到,上面的程式中用到了4次的條件判斷。這便顯得**十分臃腫。看看官方的解題是怎麼樣的:

public

class

solution

if(count>=n)

return

true

; i++;}

return

false;}

}

分析上面的程式,看到它之用了乙個判斷語句就把我寫的四個判斷語句合併了。這是怎麼做到的呢?主要是抓住了或運算的特點——當或運算第乙個條件成立的時候,第二個條件就不會執行。這樣的話,我們就不用額外的加上判斷語句來避免陣列越界的問題了。

精妙。

判斷語句 讓IF判斷語句如虎添翼邏輯運算子

玩遊戲的童鞋都知道,有一類英雄,他能給其他角色加血 擋刀 加防禦 加輸出 除了輸出之外,啥都會幹,這類英雄就是輔助。而在vba中,邏輯運算子就是if語句的輔助。and 與 or 或 not 非 下面是邏輯運算子的簡要的功能 滿足多個條件 and運算子在工作中,當我們需要滿足多個條件,才能實現乙個功能...

Python 邏輯運算子及if判斷語句

一.邏輯運算子 1.and 條件1 and 條件2 兩個條件同時滿足,就返回true 只要有乙個條件不滿足,就返回false a int input 輸入你的成績 if a 60 and a 100 print successfully else print sorry 2.or 條件1 or 條件...

python學習4 判斷語句和邏輯運算子

2.邏輯運算子 3.作業 1 if else語句格式 if 要判斷的條件 true 條件成立的時候,要做的事情 else 條件不成立的時候要做的事情 age 2if age 18 print age else print sorry 2 if elif else語句格式 if 條件1 true 語句...