Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/jsq1234/leetcode-go

A simple CLI tool for searching, downloading and submitting problems to leetcode written in Golang.
https://github.com/jsq1234/leetcode-go

cli golang leetcode

Last synced: about 2 months ago
JSON representation

A simple CLI tool for searching, downloading and submitting problems to leetcode written in Golang.

Lists

README

        

# Leetcode-go

Leetcode-go is a CLI written in golang for retrieval and submission of problems hosted on https://leetcode.com/. You can search problems, download them, run them against sample/your own testcases and submit them to your leetcode profile.

## Installation

If you have golang installed, you can install the app using ``go install``. Simply write this to in your terminal.
```
go install github.com/Manan-Prakash-Singh/leetcode-go@latest
```

## Authentication
There is no need to insert your username and password. Just make sure you are logged in into your accout in your browser. It searches through your browser cookies and finds the csrftoken and LEETCODE_SESSION token. For now, this works for firefox and chrome on Linux. To test if you are authenticated, type
```
leetcode-go auth
```

Note : I still need to test it on MacOS and Windows.

## Downloading problem

To download the problem, you can use ``leetcode-go problem "problem name in quotes" --lang cpp``. This will download if
it can find the problem in cpp. But this requires you to know the full name of thee problem, which can be cumbersome,
therfore, you can use ``leetcode-go search "search term"`` instead to search for the problem and then it will
automatically ask you to language that you need to download the problem in. The problem statement is downloaded in a
``problem.txt`` file whereas the code snippet is downloaded as your chosen language.

## Submitting/Running your code

When you download the code using leetcode-go, it saves it in the form "longest-increasing-subsequence_300". This format is expected when the filename is parsed, so don't change this. Moreover, the sample test cases are written inside the program file, enclosed inside block comments /* */. Each test case is seperated by ``;``. You can add your own test cases in it but make sure to keep the block comment at the top of the file.
```
/*

[2,7,11,15]
9;

[3,2,4]
6;

[3,3]
6;

*/
class Solution {
public:
vector twoSum(vector& nums, int target) {

}
};
```
#### Note : The problem must be in the current directory.

For help, just type ``leetcode-go help``
```
Leetcode-go is a simple cli that can search, download, and submit problems
on leetcode through the command line

Usage:
leetcode-go [command]

Available Commands:
auth Authenticate user using cookies
help Help about any command
problem Download the problem in the current directory
qod Get problem of the day
run Run your code with the test cases in your program file.
search search a problem
submit Submit your code to leetcode
topic Get a list of problems of a particular topic

Flags:
-h, --help help for leetcode-go

Use "leetcode-go [command] --help" for more information about a command.
```