이슈
불량배 배관공과 그의 형이 또 뛰어다니면서 무대를 훼손한 것 같습니다.
더 이상 불만 사항이 접수되기 전에 레벨의 스테이지를 연결하는 파이프를 수리해야 합니다.
첫 번째 파이프 이후의 각 파이프가 이전 파이프보다 1 더 많으면 파이프가 올바른 것입니다.
과제
오름차순으로 정렬된 고유 숫자 목록이 주어지면 최소값부터 최대값(둘 다 포함)까지 각 인덱스에 대해 값이 1씩 증가하도록 새 목록을 반환합니다.
예
입력: 1,3,5,6,7,8 출력: 1,2,3,4,5,6,7,8
1단계:
먼저 최대값과 최소값을 찾아야 합니다. 나는 당신이 무슨 생각을 하는지 알고 있습니다. 우리는 Math.max와 Math.min을 사용할 수 있습니다.
이 시나리오에서는 그렇지 않습니다. 유효한 접근 방식이지만 입력 목록이 이미 오름차순으로 정렬되어 있으므로 불필요합니다.
정렬되면 인덱스 0(예: 숫자[0])의 요소가 마지막 요소와 동일하게 가장 작은 값임을 보장합니다. 따라서 첫 번째 요소와 마지막 요소에 직접 액세스하는 것이 더 효율적이고 간단합니다.
따라서 인덱스 0과 마지막 숫자에서 숫자를 찾고 일부 변수를 초기화하여 이러한 값을 저장합니다.
let minVal = numbers[0]; let maxVal = numbers[numbers.length - 1];
2단계:
그런 다음 새로 정렬된 값을 저장할 빈 배열을 만듭니다.
let newNums = [];
3단계:
전체 목록을 반복
i = minVal; 루프 카운터 i를 minVal 값으로 초기화합니다. 이것이 우리의 루프가 시작되는 곳입니다.
i <= maxVal; 루프 조건입니다. i가 maxVal보다 작거나 같은 한 루프는 계속 실행됩니다. maxVal을 초과하면 루프가 중지됩니다.
i++는 증분자 역할을 합니다. for 루프를 반복할 때마다 i 값이 1씩 증가합니다
4단계:
그런 다음 array.push() 메소드를 사용하여 빈 배열 newNums에 증가된 i 값을 추가합니다.
그런 다음 newNums 배열의 최종 값을 반환합니다.
function pipeFix(numbers) { // find the minimum and maximum values in the list let minVal = numbers[0]; let maxVal = numbers[numbers.length - 1]; // create an array to store the sorted values in ascending order let newNums = []; // loop through the sorted array, from smallest value to the largest for (let i = minVal; i <= maxVal; i++) { newNums.push(i); } return newNums; }
이 글이 도움이 되었으면 좋겠습니다. 글이 마음에 드셨다면 좋아요를 남겨주시고, 궁금한 점은 댓글로 남겨주세요. 오늘은 여기까지입니다.
위 내용은 해결책: Lario 및 Muigi 파이프 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!