首页
/
每日頭條
/
圖文
/
leetcode兩數之和怎麼算
leetcode兩數之和怎麼算
更新时间:2026-01-25 11:13:29

leetcode兩數之和怎麼算?本文答案參考自leetcode衆網友的題解(因為沒有官方題解[尬笑]),我來為大家講解一下關于leetcode兩數之和怎麼算?跟着小編一起來看一看吧!

leetcode兩數之和怎麼算(LeetCode算法筆記第29題)1

leetcode兩數之和怎麼算

本文答案參考自leetcode衆網友的題解。(因為沒有官方題解[尬笑])

題目描述

給定兩個整數,被除數 dividend 和除數 divisor。将兩數相除,要求不使用乘法、除法和 mod 運算符

返回被除數 dividend 除以除數 divisor 得到的商。

整數除法的結果應當截去(truncate)其小數部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2


不能使用乘法、除法和 mod 運算符 ?[思考]

那還有什麼運算呢?

對了,還有 加減 以及 比較底層的 位運算

此外,這裡還有正負号的問題,相信大家應該可以應對[靈光一閃]。

【方法1】(加)減法以及(位運算)優化

小學二年級([看])就學過:多次加就是乘,多次減就是除。

所以,我們可以用多次減法來模拟除法,像這樣:

9 / 2 = 4 (整除)

就等于 9 - 2 - 2 - 2 - 2 = 1

  1. 開啟循環,每次循環中将 被除數 減去 除數,并記錄次數
  2. 被除數 小于 除數 時結束循環,所記錄的次數就是答案。


這就是中等 (・∀・*)?怎麼可能!

如果要計算 1000000 / 1 ,那豈不是要減很多很多次?

有人說,可以判斷呀,判斷除數是不是 1.

那 1000000 / 2 ,1000000 / 3 也要判斷?

這不可能的吧 o((>ω< ))o

所以我們可以 放大除數 ,像這樣:

9 / 2 = 9 / 4 * 2 = 4

  1. 同樣開啟循環,每次循環中
    1. 如果 被除數 大于 除數,則将除數乘以二(對2情有獨鐘啊[耶]),直到被除數 小于 除數,然後将 被除數 減去 除數,并記錄 相當于原除數做減法 的次數
    2. 如果 被除數 小于 除數
      1. 如果除數是放大過的,則将除數除以二
      2. 如果除數是原來的,即可得到答案(即次數)

以上過程嚴格按照程序邏輯排版

其中,乘以二除以二的操作可以通過左右位移來實現

即 除數 << 1 表示乘以二,除數 >> 1 表示除以二

當然得注意除數的溢出問題。


以上描述可能有點細節上的模糊,但隻需理解其思想就行了( 吧?(⊙﹏⊙))

[來看我]​[來看我]​[來看我]

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
可樂水正确使用方法
可樂水正确使用方法
不少人對可樂的第一感覺就是涼快刺激,能解口渴,但其實可樂的用處還是非常大的,比如在家居界,能發揮的空間就更大了。接下來,小兔給大家分享幾個用可樂家居家居問題妙招,都看仔細咯。1.可樂去馬桶污漬可樂可以去馬桶污漬這點,相信不少人都有過了解。首...
2026-01-25
word辦公軟件常用八個實用技巧
word辦公軟件常用八個實用技巧
在求職簡曆中寫了精通office辦公軟件,等到上班的時候才發現,自己連基本的操作都不會?别怕,今天小編整理了一大波辦公中經常會遇到的幾個問題,學會這些,離精通office更進一步!01純手動畫流程圖時,能像PPT一樣用鼠标框選多個形狀嗎?W...
2026-01-25
如果人生不順該怎麼辦
如果人生不順該怎麼辦
人生不如意,十有八九。面對諸多糟心之事,切勿心生怨念,因為自身處境并不會因此而改變,反而會越來越糟糕。其實這個道理大家都懂,可人非聖賢,遇到一些心煩之事難免抱怨兩句,這可以理解。但如果經常抱怨,人生就會出大問題。因為抱怨沒有節制,就會增加我...
2026-01-25
電視機有必要買太好的嗎
電視機有必要買太好的嗎
新房裝修進入尾聲,下一步就是家電進場。盡管現在的年輕人很少在家裡看電視,但同樣不能忽視電視在家裡的重要程度。用更直白的話講,我可以不看電視,但家裡不能沒有電視。關于家裡電視該怎麼選是個大話題,每個家庭情況不一樣,每個人的預算也不一樣,大家對...
2026-01-25
成龍爆出家族黑曆史
成龍爆出家族黑曆史
說起成龍大家一定知道這位重量級男星,可是他的家庭生活卻過的不如人意,聽小編給您一一道來。成龍1954年4月7日出生于香港,自幼随父母移居澳洲,他小時候常常喜歡打架鬧事,因此讀完小學一年級就辍學在家。1961年成龍随家人返回香港後拜占元為師傅...
2026-01-25
Copyright 2023-2026 - www.tftnews.com All Rights Reserved