# How to Study

## Coding Challenges

Give yourself 20 minutes to solve a coding challenge (Leetcode, CTCI, Hackerrank, etc.). Set a timer. Don't look up the solution online or ask for help. If all you can think of is brute force, solve it in brute force. Once 20-30 minutes pass, look up the solution online and compare it with yours. Remember, shallow work doesn't count. Think *deeply* about the problem.

After every study session, make sure to record time spent & number of questions answered on your log sheet. Revisit questions every Sundays.

### How to look up solutions:

#### Leetcode

Many questions have a "Solution" page. If they didn't put up a solution for your question, click on the "Discuss" tab. Once you're in the discussion page, click "Sort By" (right side of the page) and click "Most Votes". You will not always have the solution in your favorite language. It's ok. Train yourself to look at solutions on different programming languages.

#### Cracking the Coding Interview (book)

Almost all questions have hint numbers that you can look up at the back of the book. Questions also have the page number where you can look up the solution.

#### Hackerrank

Some questions have the solutions in the "Editorial" tab. If your question doesn't have the solution, go to the discussion page. If you can't find the solution there, Google up the question.

#### Google

Google the question you're trying to find the solution to. [Here's](https://www.google.com/search?q=Given+an+array+of+integers%2C+find+the+sum+of+its+elements.\&rlz=1C5CHFA_enUS734US734\&oq=Given+an+array+of+integers%2C+find+the+sum+of+its+elements.\&aqs=chrome..69i57j0l5.357j0j7\&sourceid=chrome\&ie=UTF-8) an example.

## Conceptual Topics

Use index cards to write down interesting things. For example, suppose you are reading about Deadlocks. You might want to write "How do you prevent a deadlock" on the front side of the index card, and the answer to that question on the back side. Review these index cards on every Sundays.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://heapclub.gitbook.io/heapclub-algorithms/how-to-study.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
