<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)371:兩整數(shù)之和

          共 1592字,需瀏覽 4分鐘

           ·

          2021-09-07 08:56

          算法的重要性,我就不多說(shuō)了吧,想去大廠,就必須要經(jīng)過(guò)基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個(gè)公眾號(hào)后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問(wèn)題叫做 兩整數(shù)之和,我們先來(lái)看題面:
          https://leetcode-cn.com/problems/sum-of-two-integers/

          Given two integers a and b, return the sum of the two integers without using the operators + and -.

          不使用運(yùn)算符 + 和 - ,計(jì)算兩整數(shù) a 、b 之和。

          示例

          示例 1:

          輸入: a = 1, b = 2
          輸出: 3

          示例 2:

          輸入: a = -2, b = 3
          輸出: 1


          解題

          計(jì)算機(jī)組成原理的知識(shí)在這里排上了用場(chǎng)。
          首先搞明白,計(jì)算機(jī)內(nèi)部是如何實(shí)現(xiàn)加法的?對(duì)于定點(diǎn)數(shù)補(bǔ)碼,首先將兩個(gè)數(shù)a,b異或,即a^b,判斷是否存在進(jìn)位,之后a&b獲得進(jìn)位的位置,之后讓未進(jìn)位相加的結(jié)果與進(jìn)位不斷相加,直到進(jìn)位為0.

          class Solution {
          public:
              int getSum(int a, int b) {
                  int result = a^b;
                  //判斷是否需要進(jìn)位
                int forward = (a&b) <<1;
                if(forward!=0){
                  //如有進(jìn)位,則將二進(jìn)制數(shù)左移一位,進(jìn)行遞歸
                  return getSum(result,forward);
                }
                  
                return result;
              }
          };


          好了,今天的文章就到這里,如果覺(jué)得有所收獲,請(qǐng)順手點(diǎn)個(gè)在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動(dòng)力 。

          上期推文:

          LeetCode1-360題匯總,希望對(duì)你有點(diǎn)幫助!
          LeetCode刷題實(shí)戰(zhàn)361:轟炸敵人
          LeetCode刷題實(shí)戰(zhàn)362:敲擊計(jì)數(shù)器
          LeetCode刷題實(shí)戰(zhàn)363:矩形區(qū)域不超過(guò) K 的最大數(shù)值和
          LeetCode刷題實(shí)戰(zhàn)364:加權(quán)嵌套序列和 II
          LeetCode刷題實(shí)戰(zhàn)365:水壺問(wèn)題
          LeetCode刷題實(shí)戰(zhàn)366:尋找二叉樹(shù)的葉子節(jié)點(diǎn)
          LeetCode刷題實(shí)戰(zhàn)367:有效的完全平方數(shù)
          LeetCode刷題實(shí)戰(zhàn)368:最大整除子集數(shù)
          LeetCode刷題實(shí)戰(zhàn)369:給單鏈表加一
          LeetCode刷題實(shí)戰(zhàn)370:區(qū)間加法

          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲免费在线观看的高清视频网站 | 日操逼黄色 | 一本大道HEYZO无码专区 一道本一区二区三区免费视频 | 成人毛片基地 | 欧美淫色网站 |