시간 보정
코드 출현 2018 1일 차
작업: X에 대해 풀기 여기서...
1 부
X = the resulting frequency - starting from 0 - after all of the changes in frequency have been applied
2 부
X = the first frequency my device reaches twice
예시 입력
+1
-2
+3
+1
다음을 나타냅니다.
+
는 주파수-
는 주파수1 부
세 친구: split() , map() , reduce()
내가 제안한 알고리즘:
Generate an ordered list of numbers from the input
For each number
Accumulate a sum - starting at 0
Return the sum
split()
, map()
및 reduce()
를 사용하여 매우 간단한 작업으로 만들겠습니다.input.split('\n').map(Number).reduce((a,c) => a + c)
예상대로 작동하여 정답을 생성했습니다!
2 부
돌고 돌고, 겉보기에는 영원할 것 같아
Set a list of frequency history, starting with one element: 0
Set frequency as 0
Set index as 0
Do as long as the last item in the list is not found elsewhere in the list
If index is equal to the length of the list
Reset index to 0
Increment frequency by the number change at the current index in the list of frequency changes
Insert the new frequency at the end of history
Increment index by 1
Return the last item in the history list
이 애니메이션은 내 알고리즘이 어떻게 작동하는지 보여줍니다.
실행하는 데 30초가 넘게 걸렸지만 정답을 생성했습니다!
해냈어!!
버머:
검토 중인 연도
4년 검문소
2017년까지!
Reference
이 문제에 관하여(시간 보정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rmion/chronal-calibration-3mpi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)