원래 arraylist에 제곱 요소를 다시 추가하려고합니다. 예를 들어 [1,2,3]은 [1, 1, 2, 4, 3, 9]가되어야합니다. 내 문제는 메모리 부족 오류가 발생하여 내 컴퓨터가 불량인지 잘 모릅니다. 여기 내 시도입니다. 재귀 호출은 arraylist의 합계를 얻는 것입니다.Arraylist의 제곱 요소를 Arraylist에 추가하기
public static int sumOfSquares(List<Integer> num) {
if (num.isEmpty()) {
return 0;
}
for(int i=0; i<num.size();i++){
int hold= num.get(i)*num.get(i);
num.add(hold);
}
return num.get(0) + sumOfSquares(num.subList(1, num.size()));
}
'for' 루프는'num'에 추가하기 때문에 무한 루프입니다.'num'은 루프를 끝내지 않게하는'size()'를 증가시킵니다. – 4castle
각 루프마다 더 좋을까요? –
아마 그렇게해서는 안됩니다. 사각형의 합을 얻기 위해 목록을 왜 돌연변이시키는 것입니까? 필요한 경우 단계를 구분하십시오. – ChiefTwoPencils