n개의 개별 요소가 있는 배열 A가 있다고 가정합니다. 두 개의 개별 요소 B[i] 및 B[j]에 대해 |B[i] - B[j]| B에 한 번 이상 나타나며 B의 모든 요소는 구별됩니다. 최대 300 크기로 만들기 위해 A에 여러 정수를 추가할 수 있는지 확인해야 합니다. 가능하면 새 배열을 반환하고, 그렇지 않으면 -1을 반환합니다.
따라서 입력이 A =[4, 8, 12, 6]과 같으면 출력은 [8, 12, 6, 2, 4, 10]이 됩니다. |4−2| =|6−4| =|8−6| =|10−8| =|12−10| =2는 배열에 있습니다. |6−2| =|8−4| =|10−6| =|12−8| =4는 배열에 있습니다. |8−2| =|10−4| =|12−6| =6은 배열에 있습니다. |10−2| =|12−4| =8은 배열에 있고 |12−2| =10이 배열에 있으므로 배열이 좋습니다. (다른 답변도 가능합니다)
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
n :=크기 At :=0b :=0for initialize i :=0, i예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include네임스페이스 std;void solve(vector A) 사용 { int n =A.size(); 정수 t =0; 정수 b =0; for (int i =0; i A ={ 4, 8, 12, 6 }; 해결(A);} 입력
{ 4, 8, 12, 6 }출력
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,