leetcode-初級アルゴリズム-配列-プラス1
タイトル:
整数からなる非空配列で表される非負の整数を与え、その数に1を加える.
最上位の数値は配列の先頭に格納され、配列内の各要素には1つの数値しか格納されません.
整数0を除いて、この整数はゼロで始まると仮定できます.
解決方法:
整数からなる非空配列で表される非負の整数を与え、その数に1を加える.
最上位の数値は配列の先頭に格納され、配列内の各要素には1つの数値しか格納されません.
整数0を除いて、この整数はゼロで始まると仮定できます.
解決方法:
// :
public int[] plusOne(int[] digits) {
long number=0; //
int index=1; // 1
long numberPlusOne=0; // 1
for(int i=digits.length-1;i>=0;i--) {
number+=digits[i]*Math.pow(10, digits.length-1-i);
}
System.out.println("number: "+number);
// 1
number+=1;
numberPlusOne=number;
System.out.println("number: "+numberPlusOne);
long divisor=10;
while(number/divisor!=0) {
index++;
divisor=10*divisor;
}
System.out.println("index: "+index);
//
int digitPlusOne[]=new int[index];
int i=0;
while(i<index) {
digitPlusOne[i]=(int) (numberPlusOne/(1*Math.pow(10, index-1-i)));
numberPlusOne= numberPlusOne-(long)(digitPlusOne[i]*(1*Math.pow(10, index-1-i)));
i++;
}
return digitPlusOne;
}