LeetCode '200. Number of Islands' 를 아래와 같이 DFS 알고리즘으로 C++로 구현했을 때 parameter로 grid를 Call by Value인 vector> grid로 넘겨주면 48/49의 테스트 케이스가 통과되지만 마지막 1개의 테스트 케이스가 Time Limit Exceeded (TLE)로 통과를 못하게 된다. 아이디어 자체엔 문제가 없지만 Call by Value 즉, '&' 의 유무가 통과 유무를 좌우한다. // Wrong Solutionclass Solution {public: int numIslands(vector>& grid) { int m = grid.size(); int n = grid[0].size(); vect..
C++에서 포인터는 다른 변수의 주소를 담고 있는 변수다. 이 주소를 통해 포인터가 가리키는 변수의 값에 액세스하고 수정할 수 있는데, 이를 "역참조 (Dereferencing) "라고 한다. 이는 "참조를 통해 (Call by reference) " 변수에 액세스하고 변경하는 방법을 제공한다. 즉, 포인터를 통해 변경한 내용이 원래 변수 자체에 반영된다. 이는 함수에서 포인터를 사용하는 경우에도 마찬가지이며, 함수에서 포인터 매개변수를 통해 변수를 변경하면 함수가 반환된 후에도 원래 변수에 영향을 미친다. #include int main() { int x = 4; // Declares an integer variable x and initializes it with the value 4. int *pt..
- Total
- Today
- Yesterday
- 티스토리챌린지
- 안드로이드
- Hash Map
- 투 포인터
- Python
- 이코노미스트
- The Economist Espresso
- ml
- 이코노미스트 에스프레소
- java
- socket programming
- C++
- 소켓 프로그래밍
- Android
- DICTIONARY
- 오블완
- Computer Graphics
- 리트코드
- I2C
- 머신 러닝
- vertex shader
- min heap
- join
- The Economist
- machine learning
- tf-idf
- leetcode
- 파이썬
- defaultdict
- 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |