[][src]Crate leetcode_cli

leetcode-cli

doc Crates.io Crates.io LICENSE

Cookies

The cookie plugin of leetcode-cil can work on OSX and Linux, If you are on other platforms or your cookies just don't want to be catched, you can handwrite your LeetCode Cookies to ~/.leetcode/leetcode.toml

# Make sure `leetcode.toml` file is placed at `~/.leetcode/leetcode.toml`
[cookies]
csrf = "..."
session = "..."

How to find LeetCode Cookies?

For Example, if you're using chrome to login to leetcode.com.

Step 1

Open chrome and paste the link below to the chrome linkbar.

chrome://settings/cookies/detail?site=leetcode.com

Step 2

Copy the contents of LEETCODE_SESSION and csrftoken.

Step 3

Paste them to session and csrf.

# Make sure `leetcode.toml` file is placed at `~/.leetcode/leetcode.toml`
[cookies]
csrf = "${LEETCODE_SESSION}"
session = "${csrf}"

Building

cargo install leetcode-cli

Usage

Please make sure you have logined in leetcode.com with chrome, more info plz checkout this

leetcode 0.2.2
clearloop <udtrokia@163.com>
Here's to the crazy ones 👻
 
USAGE:
    leetcode [FLAGS] [SUBCOMMAND]
 
FLAGS:
    -d, --debug      debug mode
    -h, --help       Prints help information
    -V, --version    Prints version information
 
SUBCOMMANDS:
    data    Manage Cache [aliases: d]
    edit    Edit question by id [aliases: e]
    exec    Submit solution [aliases: x]
    list    List problems [aliases: l]
    pick    Pick a problem [aliases: p]
    stat    Show simple chart about submissions [aliases: s]
    test    Edit question by id [aliases: t]
    help    Prints this message or the help of the given subcommand(s)

Example

For example, if your config is:

[code]
lang = "rust"
editor = "emacs"

1. pick

leetcode pick 1
[1] Two Sum is on the run...
 
 
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
 
You may assume that each input would have exactly one solution, and you may not use the same element twice.
 
--------------------------------------------------
 
Example:
 
 
Given nums = [2, 7, 11, 15], target = 9,
 
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

2. edit

leetcode edit 1
impl Solution {
    pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
        use std::collections::HashMap;
        let mut m: HashMap<i32, i32> = HashMap::new();
 
        for (i, e) in nums.iter().enumerate() {
            if let Some(v) = m.get(&(target - e)) {
                return vec![*v, i as i32];
            }
 
            m.insert(*e, i as i32).unwrap_or_default();
        }
 
        return vec![];
    }
}

3. test

leetcode test 1
 
  Accepted       Runtime: 0 ms
 
  Your input:    [2,7,11,15], 9
  Output:        [0,1]
  Expected:      [0,1]
 

4. submit

leetcode submit 1
 
  Success
 
  Runtime: 0 ms, faster than 100% of Rustonline submissions for Two Sum.
 
  Memory Usage: 2.4 MB, less than 100% of Rustonline submissions for Two Sum.
 
 

Features

  • [x] the edit flow —— solution files will generate automatically!
  • [ ] doc support, lc-rs can compile the annotation of your solutions to markdown!
    • [ ] btw, generate a site is easy for lc-rs!
  • [ ] support local signal to keep coding as longer as you want.

PR

PR is welcome, here it is.

LICENSE

MIT

Re-exports

pub use cfg::Config;
pub use err::Error;
pub use cache::Cache;

Modules

cache

Save bad network's ass.

cfg

Soft-link with config.toml

cli

Clap Commanders

cmds

All subcommands in leetcode-cli

err

Errors in leetcode-cli

flag

Flags in leetcode-cli

helper

A set of helper traits

plugins

Leetcode-cil plugins