zoukankan      html  css  js  c++  java
  • <Math> 258 43

    258. Add Digits

    class Solution {
        public int addDigits(int num) {
            if(num == 0)
                return 0;
            if(num % 9 == 0){
                return 9;
            }else{
                return num % 9;
            }
        }
    }

    43. Multiply Strings

    小学乘法计算,计算得出的数字最大有 i + j 位。

    最后保证第一位不等于0则添加到StringBuilder的队尾。

    class Solution {
        public String multiply(String num1, String num2) {
            int m = num1.length(), n = num2.length();
            int[] pos = new int[m + n];
            
            for(int j = n - 1; j >= 0; j--){
                for(int i = m - 1; i >= 0; i--){
                    int product = (num1.charAt(i) - '0') * (num2.charAt(j) - '0');
                    int p1 = i + j, p2 = i + j + 1;
                    int sum = product + pos[p2];
                    pos[p1] += sum / 10;
                    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();
    } }
  • 相关阅读:
    最终作业
    第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
  • 原文地址:https://www.cnblogs.com/Afei-1123/p/11971070.html
Copyright © 2011-2022 走看看