Verilen soru: basamak dizisi olarak temsil edilen bir negatif olmayan bir sayı göz önüne alındığında ,ArrayList
numarası (basamak temsil ettiği sayıyı artırmak) 1 eklenir.
Haneler, en önemli basamak listenin başında olacak şekilde depolanır.
Örnek: vektör varsa
[1, 2, 3]
geri vektörü olmalıdır [1, 2, 4]
olarak 123 + 1 = 124.
Test durumda,public class Solution {
public ArrayList<Integer> plusOne(ArrayList<Integer> A) {
int carry = 1;
int length = A.size();
ArrayList result = new ArrayList();
for(int i = length - 1; i >=0; i--){
int val = A.get(i) + carry;
result.add(0,val % 10);
carry = val/10;
}
if (carry == 1){
result.add(0,1);
}
for (int j = 0; j < result.size(); j++){
if(result.get(j).equals(0))
result.remove(j);
else
break;
}
return result;
}
}
Ancak:
Bu benim kodudur A [0, 6 0, 6, 4, 8, 8, 1]
doğru cevap
iken zaman fonksiyonu
döner söyler 6 0 6 4 8 8 2
Kodumda neyin yanlış olduğu hakkında hiçbir fikrim yok.
Teşekkürler!
ne olacak j = 0, 0 değeri, Sanshai28 @ j-- – Sanshayan
'' için (int j = 0 hiçbir unsur yoktur vardır; j
@PatrickRoberts Şimdilik teşekkürler anlıyorum – Sanshayan