[−][src]Crate leetcode_cli
leetcode-cli
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
!
- [ ] btw, generate a site is easy for
- [ ] 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 |
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 |