leetcode: Pascal 's Triangle II | Java 최 단 코드 구현
Pascal's Triangle II
[사고방식]
... 과 leetcode: Pascal 's Triangle | Java 최 단 코드 구현 다른 것 은 이 문 제 는 한 줄 만 되 돌려 주 고 공간 복잡 도가 O (k) 를 초과 하도록 요구 합 니 다. 우 리 는 모든 줄 의 결 과 를 result 결과 에 집중 시 키 고 한 줄 한 줄 업데이트 합 니 다.
public List<Integer> getRow(int rowIndex) {
List<Integer> result = new ArrayList<Integer>();
result.add(1);
for (int i = 0; i < rowIndex; i++) { // rowIndex - 1 (hang)
for (int j = i; j > 0; j--) // ,
result.set(j, result.get(j) + result.get(j - 1)); // j j - 1 j
result.add(1);
}
return result;
}
34 / 34
test cases passed. Runtime: 3 ms Your runtime beats 21.02% of javasubmissions.
[최적화]
우 리 는 rowIndex 에 따라 그 줄 의 결 과 를 직접 내 놓 을 수 있 으 며, 이전 줄 에 따라 유도 할 필요 가 없다.
public List<Integer> getRow(int rowIndex) {
List<Integer> ans = new ArrayList();
ans.add(1);
for(int i = 1; i <= rowIndex; i++)
ans.add((int)(Math.round(ans.get(i - 1) * ((double)(rowIndex - i + 1) / i))));
return ans;
}
34 / 34
test cases passed. Runtime: 1 ms Your runtime beats 84.70% of javasubmissions.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.