LeetCode 167,Two Sum II - Input Array Is Sorted 파이썬 해설 풀이

접근 정렬되어 있는 array 의 처음과 끝에 포인터를 둔다. target 과 비교하며 포인터를 움직인다. 사고 정렬되어 있고, 답이 하나로 보장되어 있다길래 two pointer 썼다. class Solution: def twoSum(self, numbers: list[int], target: int) -> list[int]: i, e = 0, len(numbers) - 1 while i < e: if numbers[i] + numbers[e] == target: return [i + 1, e + 1] elif numbers[i] + numbers[e] > target: e -= 1 else: i += 1

July 26, 2022 · 1 min · Dongju Kim

Effective Java - 챕터 2 Item 7-8

*Eliminate obsolete object references** 자바는 garbage-collected language 이다. 편리할 수 있으나 unintentioanl object retention 는 언제든 생길 수 있다. 의도하지 않게 더이상 쓰지 않을 오브젝트들이 메모리를 차지하고 있는 것이다. 예를 들어 Stack 클래스의 pop method 가 다음과 같이 짜여져 있다고 해보자. public Object pop() { if (size == 0) throw new EmptyStackException(); reteurn elements[--size]; } 우리는 pop으로 집은 오브젝트가 더이상 스택에 있다고 간주하지 않는다. 이 스택을 이용하는 사람은 이 점을 잘 알고 있고, 따라서 stack 이 해야하는 모든 동작은 잘 수행한다. ...

June 16, 2021 · 2 min · Dongju Kim