[
  {
    "id": 1,
    "title": "Two Sum",
    "description": "Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.",
    "difficulty": "easy",
    "tags": ["array", "hash-table"],
    "group": "arrays",
    "slug": "two-sum",
    "mdPath": "questions-md/two-sum.md"
  },
  {
    "id": 2,
    "title": "Reverse Linked List",
    "description": "Given the head of a singly linked list, reverse the list, and return the reversed list.",
    "difficulty": "easy",
    "tags": ["linked-list"],
    "group": "linked-list",
    "slug": "reverse-linked-list",
    "mdPath": "questions-md/reverse-linked-list.md"
  },
  {
    "id": 3,
    "title": "Valid Parentheses",
    "description": "Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.",
    "difficulty": "easy",
    "tags": ["string", "stack"],
    "group": "strings",
    "slug": "valid-parentheses",
    "mdPath": "questions-md/valid-parentheses.md"
  },
  {
    "id": 4,
    "title": "Merge Two Sorted Lists",
    "description": "You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list.",
    "difficulty": "easy",
    "tags": ["linked-list", "recursion"],
    "group": "linked-list",
    "slug": "merge-two-sorted-lists",
    "mdPath": "questions-md/merge-two-sorted-lists.md"
  },
  {
    "id": 5,
    "title": "Maximum Subarray",
    "description": "Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.",
    "difficulty": "medium",
    "tags": ["array", "dynamic-programming"],
    "group": "arrays",
    "slug": "maximum-subarray",
    "mdPath": "questions-md/maximum-subarray.md"
  },
  {
    "id": 6,
    "title": "Climbing Stairs",
    "description": "You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?",
    "difficulty": "easy",
    "tags": ["dynamic-programming", "math"],
    "group": "dynamic-programming",
    "slug": "climbing-stairs",
    "mdPath": "questions-md/climbing-stairs.md"
  },
  {
    "id": 7,
    "title": "Binary Tree Inorder Traversal",
    "description": "Given the root of a binary tree, return the inorder traversal of its nodes' values.",
    "difficulty": "easy",
    "tags": ["tree", "depth-first-search", "stack"],
    "group": "trees",
    "slug": "binary-tree-inorder-traversal",
    "mdPath": "questions-md/binary-tree-inorder-traversal.md"
  },
  {
    "id": 8,
    "title": "Same Tree",
    "description": "Given the roots of two binary trees p and q, write a function to check if they are the same or not.",
    "difficulty": "easy",
    "tags": ["tree", "depth-first-search", "breadth-first-search"],
    "group": "trees",
    "slug": "same-tree",
    "mdPath": "questions-md/same-tree.md"
  },
  {
    "id": 9,
    "title": "Maximum Depth of Binary Tree",
    "description": "Given the root of a binary tree, return its maximum depth.",
    "difficulty": "easy",
    "tags": ["tree", "depth-first-search", "breadth-first-search"],
    "group": "trees",
    "slug": "maximum-depth-of-binary-tree",
    "mdPath": "questions-md/maximum-depth-of-binary-tree.md"
  },
  {
    "id": 10,
    "title": "Best Time to Buy and Sell Stock",
    "description": "You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock.",
    "difficulty": "easy",
    "tags": ["array", "dynamic-programming"],
    "group": "arrays",
    "slug": "best-time-to-buy-and-sell-stock",
    "mdPath": "questions-md/best-time-to-buy-and-sell-stock.md"
  }
]