zoukankan      html  css  js  c++  java
  • 43. Multiply Strings

    Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.

    Note:

    1. The length of both num1 and num2 is < 110.
    2. Both num1 and num2 contains only digits 0-9.
    3. Both num1 and num2 does not contain any leading zero.
    4. You must not use any built-in BigInteger library or convert the inputs to integer directly

    此题考查数学和数组的结合,直接上代码:

    public class Solution {

        public String multiply(String num1, String num2) {

            int m = num1.length();

            int n= num2.length();

            int[] pos = new int[m+n];

            for(int i=m-1;i>=0;i--){

                for(int j=n-1;j>=0;j--){

                    int p1 = i+j;

                    int p2 = i+j+1;

                    int mul = (num1.charAt(i)-'0')*(num2.charAt(j)-'0');

                    int sum = pos[p2]+mul;

                    pos[p2]= sum%10;

                    pos[p1] = sum/10+pos[p1];

                }

            }

            StringBuilder sb = new StringBuilder();

            for(int i:pos){

                if(!(i==0&&sb.length()==0)){

                    sb.append(i);

                }

            }

            return sb.length()==0?"0":sb.toString();

        }

    }

  • 相关阅读:
    洛谷 P2421 [NOI2002]荒岛野人
    POJ 2115 C Looooops
    POJ 3292 Semi-prime H-numbers
    [网络流24题]负载平衡问题(费用流)
    [网络流24题]骑士共存问题
    POJ 3281 Dining
    洛谷 1306斐波那契公约数
    ELK+Filebeat 安装配置入门
    一个JS内存泄露实例分析
    Node.js 事件循环
  • 原文地址:https://www.cnblogs.com/codeskiller/p/6357953.html
Copyright © 2011-2022 走看看