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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

就空間/時(shí)間復(fù)雜度而言,哪一個(gè)更好?

就空間/時(shí)間復(fù)雜度而言,哪一個(gè)更好?

繁華開滿天機(jī) 2022-06-23 10:27:38
就空間/時(shí)間復(fù)雜度而言,哪個(gè)更好?if (!(N % 2 == 0) || N % 2 == 0 && (N >= 6 && N <= 20)) {  System.out.println("Weird");} if ( N % 2 == 0 && (N >= 2 && N <= 5 || N > 20)) {  System.out.println("Not Weird");}// ORif (!(N % 2 == 0)) {  System.out.println("Weird");} else {  if (N >= 2 && N <= 5) {    System.out.println("Not Weird");  }  if (N >= 6 && N <= 20) {        System.out.println("Weird");  }  if (N > 20) {        System.out.println("Not Weird");  }}       我試圖看看在 Java 中創(chuàng)建 if 語句的最佳方法是否是制作簡(jiǎn)單但直接的 if 語句,例如下面的(但有點(diǎn)混亂)或頂部的“整潔”語句。每一個(gè)小細(xì)節(jié)都將不勝感激。
查看完整描述

2 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

這些是相同的。

Big-O 只有在你有循環(huán)的情況下才會(huì)發(fā)揮作用,它們都以恒定的時(shí)間運(yùn)行O(1)

通常,避免嵌套。我個(gè)人更喜歡第一種選擇。但是真的一點(diǎn)區(qū)別都沒有,尤其是短路的原因:

如果!(N % 2 == 0)true在您的第一個(gè)示例中,||則將“短路”,這意味著因?yàn)樗业搅艘粋€(gè)真理,它不會(huì)評(píng)估它的右半部分。這與第二個(gè)示例中的 if 語句相同。運(yùn)算符也是如此&&- 如果遇到單個(gè)值,它們會(huì)“短路” false,因?yàn)樗鼈冇肋h(yuǎn)無法以這種方式評(píng)估為真。

所以,本質(zhì)上,選擇你喜歡的/更具可讀性/邏輯上更連貫的。


查看完整回答
反對(duì) 回復(fù) 2022-06-23
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

如前所述,兩種情況的空間/時(shí)間復(fù)雜度相同。這里的重要因素是理解代碼的復(fù)雜性。這歸結(jié)為在特定情況下的個(gè)人判斷。


我不確定我更喜歡哪個(gè),因?yàn)槲也涣私夤之惖乃惴?,而且我的偏好取決于這兩種表述對(duì)有見識(shí)的讀者有多“明顯”——我假設(shè)任何接觸此代碼的人都知道它對(duì) N 意味著什么奇怪。


但在第二種情況下,我更喜歡更少的比較。如果一個(gè)子句處理 N <= 5,則下一個(gè)替代方案不需要確保 N >= 6。


因此(在偽代碼中)


else if (N <= 1) {

   // no decision according to original code

} else if (N <= 5) {

   print not weird   

} else if (N <= 20) {

   print weird

} else {

   print not weird

}

N是奇怪的還是不奇怪的?那么,第一,else要求避免重復(fù)計(jì)算,第二,你的意思是省略對(duì)零和負(fù)整數(shù)的考慮嗎?(我提出這個(gè)問題的觀點(diǎn)是,我提出的布局清楚地表明我們不會(huì)為這種情況做任何事情,并且我正在為說明的清晰性而爭(zhēng)論——目標(biāo)讀者可能不得不懷疑這種明顯的遺漏)


另外,當(dāng)我在吹毛求疵的時(shí)候


(!(N % 2 == 0))

通過將其寫為


(N % 2 != 0)


查看完整回答
反對(duì) 回復(fù) 2022-06-23
  • 2 回答
  • 0 關(guān)注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)