zoukankan      html  css  js  c++  java
  • leetcode43

    1 class Solution:
    2     def multiply(self, num1: str, num2: str) -> str:
    3         return str(int(num1)*int(num2))

    python就是方便啊,这才是好的程序代码应有的亚子,也是程序员应有的亚子。(呵呵)

    但是似乎这种简便的方式,不太符合题目要求。

    下面给出一个java的参考代码:https://leetcode.com/problems/multiply-strings/discuss/17605/Easiest-JAVA-Solution-with-Graph-Explanation

     1 public String multiply(String num1, String num2) {
     2     int m = num1.length(), n = num2.length();
     3     int[] pos = new int[m + n];
     4    
     5     for(int i = m - 1; i >= 0; i--) {
     6         for(int j = n - 1; j >= 0; j--) {
     7             int mul = (num1.charAt(i) - '0') * (num2.charAt(j) - '0'); 
     8             int p1 = i + j, p2 = i + j + 1;
     9             int sum = mul + pos[p2];
    10 
    11             pos[p1] += sum / 10;
    12             pos[p2] = (sum) % 10;
    13         }
    14     }  
    15     
    16     StringBuilder sb = new StringBuilder();
    17     for(int p : pos) if(!(sb.length() == 0 && p == 0)) sb.append(p);
    18     return sb.length() == 0 ? "0" : sb.toString();
    19 }

    也许将来AI高度发展了,大多数的复杂工作,都由机器来完成,程序员只需写一行简单的代码就可以了。

    那时候的程序员看我们现在写的代码,也许就像我们看历史书中的“纸带打孔”的代码一样吧。

    左图:纸带打孔编程。右图:本题目参考代码的思路分析配图。

    根据教科书中的介绍,现在的冯氏体系的计算机由"运算器","控制器","存储器","输入","输出"这五大部分组成,

    也许将来的计算机会有个什么"智能器"之类的部件,我们现在需要人工处理的工作,都可以由这个智能器完成。

    也许那时,编写程序就像打字聊天一样,而程序员也不再是一个职业了。

  • 相关阅读:
    javascript:void(0)的作用示例
    JavaScript 字符串编码函数
    call和apply
    雪中情
    flask第二十篇——模板【3】
    flask第十九篇——模板【3】
    flask第十八篇——模板【2】
    flask第十七篇——模板【1】
    flask第十六篇——Response【2】
    flask第十五篇——Response
  • 原文地址:https://www.cnblogs.com/asenyang/p/11105719.html
Copyright © 2011-2022 走看看