成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

43. Multiply Strings

fsmStudy / 737人閱讀

摘要:是最高位代表進(jìn)位,表示本位。就是本位的乘積加上本位已有的值。進(jìn)位就是除以的余數(shù)本位就是剩下的個(gè)位數(shù)。

43 Multiply Strings

關(guān)鍵詞,進(jìn)位。

public class Solution {
    public String multiply(String num1, String num2) {
        int m = num1.length(), n = num2.length();
        int[] pos = new int[m + n]; // 0是最高位
       
        for(int i = m - 1; i >= 0; i--) {
            for(int j = n - 1; j >= 0; j--) {
                int mul = (num1.charAt(i) - "0") * (num2.charAt(j) - "0"); 
                // p1代表進(jìn)位, p2表示本位。
                int p1 = i + j, p2 = i + j + 1;
                // sum 就是本位的乘積加上本位已有的值。
                int sum = mul + pos[p2];
                // 進(jìn)位就是除以10的余數(shù)
                pos[p1] += sum / 10;
                // 本位就是剩下的個(gè)位數(shù)。
                pos[p2] = (sum) % 10;
            }
        }  
        
        StringBuilder sb = new StringBuilder();
        for(int p : pos) if(!(sb.length() == 0 && p == 0)) sb.append(p);
        return sb.length() == 0 ? "0" : sb.toString();
    }
}

67 Add Binary

public class Solution {
    public String addBinary(String a, String b) {
        StringBuilder sb = new StringBuilder();
        
        char[] cha = a.toCharArray();
        char[] chb = b.toCharArray();
        int i = cha.length-1, j = chb.length -1, carry = 0;
        
        while(i >=0 || j>=0) {
            int vala = i >= 0 ? cha[i--] - "0" : 0;
            int valb = j >= 0 ? chb[j--] - "0" : 0;
            int cur = vala+ valb + carry;
            sb.append(cur%2);
            carry = cur/2;
        }
        if(carry == 1) sb.append(1);
        return sb.reverse().toString();
    }
}

415 Add Strings

public class Solution {
    public String addStrings(String num1, String num2) {
        StringBuilder sb = new StringBuilder();
        
        for(int i = num1.length() -1, j = num2.length()-1, carry = 0; i >= 0 || j >= 0 || carry == 1; i--, j--){
            int x = i < 0 ? 0 : num1.charAt(i) - "0";
            int y = j < 0 ? 0 : num2.charAt(j) - "0";
            sb.append((x+y+carry)%10);
            carry = (x+y+carry)/10;
        }
        
        return sb.reverse().toString();
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66993.html

相關(guān)文章

  • leetcode 43 Multiply Strings

    摘要:題目詳情題目要求輸入兩個(gè)以字符串形式表示的正整數(shù),要求我們求出它們的乘積,同樣也是字符串形式表示。要求不能直接將字符串轉(zhuǎn)換為整數(shù)進(jìn)行乘法運(yùn)算。想法這道題的思路就是將我們平時(shí)手算多位數(shù)乘法的計(jì)算方法,轉(zhuǎn)換成程序語(yǔ)言。 題目詳情 Given two non-negative integers num1 and num2 represented as strings, return the ...

    cloud 評(píng)論0 收藏0
  • leetcode43 multiply strings

    摘要:題目要求將兩個(gè)形式的數(shù)字相乘的結(jié)果用的形式返回。不準(zhǔn)使用以外的形式來(lái)記錄數(shù)字。假設(shè),則將結(jié)果的十位和個(gè)位分別放在數(shù)組下標(biāo)為和的位置上。存儲(chǔ)的位置等同于上一思路。然后再通過(guò)一輪遍歷將進(jìn)位處理一下。 題目要求 Given two non-negative integers num1 and num2 represented as strings, return the product of...

    Batkid 評(píng)論0 收藏0
  • [Leetcode] Multiply String and Big Interger 大數(shù)乘法加法

    摘要:因?yàn)楸怀藬?shù)每一位數(shù)字和乘數(shù)相乘的結(jié)果是依次錯(cuò)開(kāi)的,所以就沒(méi)問(wèn)題。判斷兩個(gè)數(shù)的大小的方法,是先判斷其長(zhǎng)度,如果長(zhǎng)度不一樣,則較長(zhǎng)的較大,如果長(zhǎng)度一樣,則需要比較每一位。 Multiply Strings Given two numbers represented as strings, return multiplication of the numbers as a string. ...

    keithxiaoy 評(píng)論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開(kāi)始寫相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)懍F(xiàn)在翻起來(lái)覺(jué)得蠻亂的??赡艽蠹铱粗卜浅2环奖?。所以在這里做個(gè)索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開(kāi)始寫leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)憽F(xiàn)在翻起來(lái)覺(jué)得蠻亂的??赡艽蠹铱粗卜浅2环奖恪K栽谶@里做個(gè)索引嘻嘻。 順序整理 1~50 1...

    leo108 評(píng)論0 收藏0
  • threejs中矩陣旋轉(zhuǎn)原理

    摘要:如創(chuàng)建一個(gè)的矩陣將上面創(chuàng)建的矩陣按照傳入的軸旋轉(zhuǎn)傳入的弧度旋轉(zhuǎn)軸,旋轉(zhuǎn)弧度原型上的方法值為值為初始值為執(zhí)行之后的值為將按照旋轉(zhuǎn)軸和弧度旋轉(zhuǎn)完成的矩陣和幾何體的矩陣相乘框架源碼這里的是因?yàn)橹粋魅胍粋€(gè)值和是全等的 矩陣的概念 threejs中的矩陣 矩陣的應(yīng)用 用于旋轉(zhuǎn)一個(gè)幾何體 創(chuàng)建一個(gè)立方體cube放到場(chǎng)景中; showImg(https://segmentfault.com/img/...

    gyl_coder 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<