日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeeCode_MultiplyStrings

發布時間:2025/4/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeeCode_MultiplyStrings 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


經過昨天一天,還有今天的學習,終于是把第一個程序給搞出來,雖然是借鑒他人的,但是還是收獲頗多。現在把

這個程序的問題,和解決方案在下面貼出:

MultiplyStrings

Given two numbers represented as strings, return multiplication of the numbers as a string.

Note: The numbers can be arbitrarily large and are non-negative.

給定用字符串表示的兩個數字,計算其乘積:



public class MultiplyStrings {//這種算法是模擬了正常的乘積運算解出答案。<span style="white-space:pre"> </span>//原始解法中問號部分,我認為是不需要的,不太理解是什么意思,<span style="white-space:pre"> </span>//我在Leecode中測試是可以通過的。public static void main(String[] args) {String a1 = "12888";String b1 = "13131555";String s = multiply(a1, b1);System.out.println("s =" + s);}public static String multiply(String num1, String num2) {StringBuilder s1 = new StringBuilder(num1).reverse();StringBuilder s2 = new StringBuilder(num2).reverse();int l1 = s1.length();int l2 = s2.length();int[] result = new int[l1 + l2 - 1];for(int i = 0; i < l1; i++){for(int j = 0; j < l2; j++){result[i+j] += (s1.charAt(i) - '0') * (s2.charAt(j) - '0');}}//System.out.println(Arrays.toString(result));StringBuilder s = new StringBuilder();int carry = 0;for(int i = 0; i < result.length; i++){int currDigit = (result[i] + carry) % 10;carry = (result[i]+carry)/10;s.insert(0, currDigit);System.out.println(s);}if(carry!=0){s.insert(0, carry);} /*???????????????????????????????????????????????????????int i = 0;while( i < s.length() && s.charAt(i) == '0'){i++;}if(i == s.length() ) s.delete(0,i-1);else s.delete(0, i); */return s.toString();} }

轉載于:https://www.cnblogs.com/sunbinbin/p/5122560.html

總結

以上是生活随笔為你收集整理的LeeCode_MultiplyStrings的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。