leetcode:문자열 곱 하기(java)
1561 단어 알고리즘 시험 문제(java)
package LeetCode;
import java.util.ArrayList;
import java.util.List;
public class Multiply {
/*
: n*n
i+j
*/
public String multiply(String num1, String num2) {
StringBuilder res = new StringBuilder();
char[] a = num1.toCharArray();
char[] b = num2.toCharArray();
if ((num1.length()==1&&num1.equals("0"))||(num2.length()==1&&num2.equals("0")))return "0";
//
int[] result = new int[a.length + b.length];
//
for (int i = a.length-1; i >=0; i--) {
for (int j=b.length-1; j >=0; j--) {
result[a.length-1-i + b.length-1-j]+= (a[i] - 48) * (b[j] - 48);
}
}
for (int i = 0; i < result.length - 1; i++) {
if (result[i] >= 10) {
result[i + 1] += result[i] / 10;
result[i] = result[i] % 10;
}
}
//
boolean juge = false;
for (int i = result.length - 1; i >= 0; i--) {
if (result[i] != 0) {
juge = true;
}
if (juge) {
res.append(result[i]);
}
}
return res.toString();
}
public static void main(String[] args) {
Multiply a = new Multiply();
System.out.println(a.multiply("0",
"0"));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
leetcode: 77. 조합 (자바 딥 검색 (dfs) + 가지치기)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.