首页
/
每日頭條
/
圖文
/
leetcode兩數之和怎麼算
leetcode兩數之和怎麼算
更新时间:2025-12-12 14:29:21

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
推荐阅读
山東93歲父親(思念父親山東劉永)
山東93歲父親(思念父親山東劉永)
  #春日生活打卡季#   思念父親 文/山東 劉永 爹的脾氣不好 ,不光我知道,哥知道,小妹知道,就連娘的幾個兒媳也知道一些情況,最清楚的是俺娘。   娘總是忍氣吞聲,一輩了承受了太多太多的委屈。但是娘依然對爹非常好,慣着爹。   六七十年代,貧窮都貧窮,娘烙地瓜幹子煎餅時,總是 用水瓢和點面烙幾個面煎餅,藏在放地 瓜幹子煎餅大盆最底下,專門給爹吃。   ...
2025-12-12
養老生活别提有多舒心(養老生活越過越甜)
養老生活别提有多舒心(養老生活越過越甜)
     9月19日,鄭州市金水區梓聞社會工作服務中心的社工陪伴老人練習書法。本報記者 王铮 攝   □本報記者 王向前   今年10月1日,《河南省養老服務條例》(以下簡稱《條例》)将施行。為貫徹實施好《條例》,9月23日,省政府新聞辦舉行新聞發布會,發布河南養老服務發展願景。   疏通“堵點”,《條例》肩負重大責任   我省60歲以上人口1796萬人,占...
2025-12-12
澳大利亞1
澳大利亞1
  根據澳大利亞氣象局(BOM)的初步數據統計,昨天(17日)是澳大利亞自有氣象記錄以來的最熱的一天。全國平均氣溫為40.9℃,打破了2013年1月創下的40.3℃的紀錄,但根據預測,這一紀錄不可能持續很長時間。随着炙熱的空氣在全國範圍内移動,預計未來幾天氣溫将繼續升高。      △澳大利亞18日全國各地氣溫分布圖(圖片來源:澳大利亞氣象局)   17日,...
2025-12-12
秦時明月曉夢結局是什麼(秦時明月不可忽視的曉夢大師)
秦時明月曉夢結局是什麼(秦時明月不可忽視的曉夢大師)
  《秦時明月》動畫中儒家是最講究長幼尊卑和禮數的一個門派,桑海儒家小聖賢莊有三位當家,分别是掌門人伏念、二當家顔路和三當家張良,被稱為“齊魯三傑”。三人雖同屬儒家一脈,但性格其實頗為不同,張良身處儒家實則崇尚墨家,顔路喜歡恬淡不問世事,唯有大師兄伏念最講禮數,曾因天明少羽之事責怪兩位師弟。      伏念推崇王道治國,獨創“聖王劍法”,對于儒家學說和天下大...
2025-12-12
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
     近日,上海市嘉定區檢察院督促該區市場監督管理局對違法改裝電動自行車履行行政監管職責的公益訴訟案例,因與公共安全相關度高,受到市民廣泛關注,獲評上海市檢察機關2020年度公益訴訟十大典型案例。   事情要從2020年5月說起。上海市檢察院經調研發現,電動自行車充電引發的火災次數日趨增加,影響公衆安全,遂在該市檢察機關開展電動自行車充電安全管理領域公益...
2025-12-12
Copyright 2023-2025 - www.tftnews.com All Rights Reserved