Skip to main content

LeetCode solutions runner

Project description

Overview

LeetCode solutions runner

PyPI Version PyPI License

Usage

  1. Install the library from PyPi
  2. Go to LeetCode and pick a problem to solve
  3. Open your favourite IDE and import the leetcode_runner
  4. Copy a problem samples into some variable, like a problem, and copy the base Solution class that LeetCode provides
  5. LeetCode(problem, Solution).check() will run these samples!
  6. Pass your own samples into check function
from leetcode_runner import LeetCode, TestCase, Args
from typing import *

# Copied as is from the LeetCode
problem = """
Example 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Output: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:

Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:

Input: nums = [3,3], target = 6
Output: [0,1]
"""

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        return [1, 2]

LeetCode(problem, Solution).check()

Will print:

------------------------------
[ FAILED ]
nums = [2,7,11,15], target = 9
Expected: [0, 1]
Actual  : [1, 2]
------------------------------
[ OK ]
nums = [3,2,4], target = 6
Expected: [1, 2]
Actual  : [1, 2]
------------------------------
[ FAILED ]
nums = [3,3], target = 6
Expected: [0, 1]
Actual  : [1, 2]

Passed: 1/3

Providing custom cases is also possible:

lc = LeetCode(problem, Solution)

lc.check(
    extra_cases=[
        TestCase(args=Args(nums=[0, 1, 2], target=3), answer=[1, 2]),
        # or
        TestCase(Args(nums=[0, 1], target=1), [0, 1])
    ]
)

Requirements

  • Python 3.9+

Installation

Install it directly into an activated virtual environment:

$ pip install leetcode-runner

or add it to your Poetry project:

$ poetry add leetcode-runner

This project was generated with cookiecutter using jacebrowning/template-python.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

leetcode-runner-0.0.3.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

leetcode_runner-0.0.3-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page