码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • leetcode日记(32)字符串相乘


    做了很久很久……真的太繁琐了!!

    1. class Solution {
    2. public:
    3. string multiply(string num1, string num2) {
    4. string s;
    5. string str;
    6. if (num1 == "0" || num2 == "0") return "0";
    7. for(int i=num2.size()-1;i>=0;i--){
    8. int c2=num2[i]-'0';
    9. string x;
    10. int b=0;
    11. for(int j=num1.size()-1;j>=0;j--){
    12. int c1=num1[j]-'0';
    13. int c3=c1*c2;
    14. if(b>=1) c3+=b;
    15. if(c3>9){
    16. x.insert(x.begin(),c3%10+'0');
    17. b=c3/10;
    18. }
    19. else{x.insert(x.begin(),c3+'0');b=0;}
    20. if(b>=1&&j==0&&c3>9){
    21. char u=c3/10+'0';
    22. x.insert(x.begin(),u);
    23. }
    24. }
    25. if(s=="") s=x;
    26. else{
    27. int u=num2.size()-i-1;
    28. while(u>0) {x.push_back('0');u--;}
    29. s=ad(s,x);
    30. }
    31. }
    32. return s;
    33. }
    34. string ad(string a,string b){
    35. if(a.size()>=b.size()){
    36. for(int i=1;i<=a.size();i++){
    37. if(isize()+1){
    38. a[a.size()-i]+=b[b.size()-i]-'0';
    39. if(a[a.size()-i]>'9'){
    40. a[a.size()-i]-=10;
    41. if(a.size()-i==0){
    42. a.insert(a.begin(),'1');
    43. }
    44. else a[a.size()-i-1]+=1;
    45. }
    46. }
    47. else{
    48. if(a[a.size()-i]>'9'){
    49. a[a.size()-i]-=10;
    50. if(a.size()-i==0){
    51. a.insert(a.begin(),'1');
    52. }
    53. else a[a.size()-i-1]+=1;
    54. }
    55. }
    56. }
    57. return a;
    58. }
    59. else{
    60. for(int i=1;i<=b.size();i++){
    61. if(isize()+1){
    62. b[b.size()-i]+=a[a.size()-i]-'0';
    63. if(b[b.size()-i]>'9'){
    64. b[b.size()-i]-=10;
    65. if(b.size()-i==0){
    66. b.insert(b.begin(),'1');
    67. }
    68. else b[b.size()-i-1]+=1;
    69. }
    70. }
    71. else{
    72. if(b[b.size()-i]>'9'){
    73. b[b.size()-i]-=10;
    74. if(b.size()-i==0){
    75. b.insert(b.begin(),'1');
    76. }
    77. else b[b.size()-i-1]+=1;
    78. }
    79. }
    80. }
    81. return b;
    82. }
    83. return b;
    84. }
    85. };

  • 相关阅读:
    Day 57 django 路由系统 反向解析
    04.1、多层感知机
    分布式文件存储系统minio
    MyBatis使用注解操作及XML操作
    2022李宏毅作业hw1—新冠阳性人员数量预测。
    Python1 文件读写操作
    Kafka集群架构设计原理详解
    元素显示和背景调试
    Java到底是值传递还是引用传递【通俗易懂】
    go 语言函数绑定方法
  • 原文地址:https://blog.csdn.net/s478527548/article/details/136244354
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号