Text Generation
llama-cpp-python
GGUF
English
code-generation
coding-assistant
llama.cpp
qwen2.5
python
javascript
fine-tuned
conversational
Instructions to use neuralbroker/blitzkode with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use neuralbroker/blitzkode with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="neuralbroker/blitzkode", filename="blitzkode.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use neuralbroker/blitzkode with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf neuralbroker/blitzkode # Run inference directly in the terminal: llama cli -hf neuralbroker/blitzkode
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf neuralbroker/blitzkode # Run inference directly in the terminal: llama cli -hf neuralbroker/blitzkode
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf neuralbroker/blitzkode # Run inference directly in the terminal: ./llama-cli -hf neuralbroker/blitzkode
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf neuralbroker/blitzkode # Run inference directly in the terminal: ./build/bin/llama-cli -hf neuralbroker/blitzkode
Use Docker
docker model run hf.co/neuralbroker/blitzkode
- LM Studio
- Jan
- vLLM
How to use neuralbroker/blitzkode with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "neuralbroker/blitzkode" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "neuralbroker/blitzkode", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/neuralbroker/blitzkode
- Ollama
How to use neuralbroker/blitzkode with Ollama:
ollama run hf.co/neuralbroker/blitzkode
- Unsloth Desktop
- Pi
How to use neuralbroker/blitzkode with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf neuralbroker/blitzkode
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "neuralbroker/blitzkode" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use neuralbroker/blitzkode with Docker Model Runner:
docker model run hf.co/neuralbroker/blitzkode
- Lemonade
How to use neuralbroker/blitzkode with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull neuralbroker/blitzkode
Run and chat with the model
lemonade run user.blitzkode-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use neuralbroker/blitzkode with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf neuralbroker/blitzkode
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default neuralbroker/blitzkode
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use neuralbroker/blitzkode with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf neuralbroker/blitzkode
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "neuralbroker/blitzkode" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Update clean backend-only project docs and eval
Browse files- scripts/build_full_dataset.py +125 -120
scripts/build_full_dataset.py
CHANGED
|
@@ -6,8 +6,10 @@ Gathers training data from HuggingFace, generates coding problems, etc.
|
|
| 6 |
|
| 7 |
import json
|
| 8 |
from bisect import bisect_left
|
|
|
|
| 9 |
from pathlib import Path
|
| 10 |
from datetime import datetime
|
|
|
|
| 11 |
|
| 12 |
OUTPUT_DIR = Path("datasets/raw")
|
| 13 |
OUTPUT_FILE = OUTPUT_DIR / "blitzkode_full_training.json"
|
|
@@ -15,11 +17,11 @@ OUTPUT_FILE = OUTPUT_DIR / "blitzkode_full_training.json"
|
|
| 15 |
def load_huggingface_datasets():
|
| 16 |
"""Try to load datasets from HuggingFace"""
|
| 17 |
datasets = []
|
| 18 |
-
|
| 19 |
try:
|
| 20 |
from datasets import load_dataset
|
| 21 |
print("[HF] Loading datasets...")
|
| 22 |
-
|
| 23 |
# Try different datasets
|
| 24 |
dataset_names = [
|
| 25 |
"openai/gsm8k",
|
|
@@ -27,291 +29,294 @@ def load_huggingface_datasets():
|
|
| 27 |
"meta-math/MathInstruct",
|
| 28 |
"技术桃子/gsm8k-grade-school-math",
|
| 29 |
]
|
| 30 |
-
|
| 31 |
for name in dataset_names:
|
| 32 |
try:
|
| 33 |
print(f" Trying {name}...")
|
| 34 |
-
ds = load_dataset(name, split="train[:100]")
|
| 35 |
print(f" Loaded {len(ds)} from {name}")
|
| 36 |
-
for
|
|
|
|
|
|
|
|
|
|
| 37 |
datasets.append({
|
| 38 |
"prompt": str(item.get("question", item.get("instruction", "")))[:500],
|
| 39 |
"response": str(item.get("answer", item.get("response", item.get("output", ""))))[:1000]
|
| 40 |
})
|
| 41 |
except Exception as e:
|
| 42 |
print(f" Failed: {e}")
|
| 43 |
-
|
| 44 |
except ImportError:
|
| 45 |
print("[HF] datasets library not available")
|
| 46 |
-
|
| 47 |
return datasets
|
| 48 |
|
| 49 |
def generate_comprehensive_problems():
|
| 50 |
"""Generate 500+ comprehensive coding problems"""
|
| 51 |
-
|
| 52 |
problems = []
|
| 53 |
-
|
| 54 |
# ==================== ARRAYS ====================
|
| 55 |
array_problems = [
|
| 56 |
-
{"prompt": "Two Sum: Given array nums and target, return indices of two numbers that add to target",
|
| 57 |
"response": "```python\ndef two_sum(nums, target):\n seen = {}\n for i, n in enumerate(nums):\n if target - n in seen:\n return [seen[target-n], i]\n seen[n] = i\n return []\n```\nTime O(n), Space O(n)"},
|
| 58 |
-
|
| 59 |
{"prompt": "Maximum Subarray: Find contiguous subarray with largest sum (Kadane's algorithm)",
|
| 60 |
"response": "```python\ndef max_subarray(nums):\n max_sum = curr = nums[0]\n for n in nums[1:]:\n curr = max(n, curr + n)\n max_sum = max(max_sum, curr)\n return max_sum\n```\nTime O(n), Space O(1)"},
|
| 61 |
-
|
| 62 |
{"prompt": "Product of Array Except Self: Return array where each element is product of all other elements",
|
| 63 |
"response": "```python\ndef product_except_self(nums):\n n = len(nums)\n result = [1] * n\n prefix = 1\n for i in range(n):\n result[i] = prefix\n prefix *= nums[i]\n suffix = 1\n for i in range(n-1, -1, -1):\n result[i] *= suffix\n suffix *= nums[i]\n return result\n```\nTime O(n), Space O(1)"},
|
| 64 |
-
|
| 65 |
{"prompt": "Merge Intervals: Merge all overlapping intervals",
|
| 66 |
"response": "```python\ndef merge(intervals):\n intervals.sort(key=lambda x: x[0])\n merged = [intervals[0]]\n for start, end in intervals[1:]:\n if merged[-1][1] >= start:\n merged[-1][1] = max(merged[-1][1], end)\n else:\n merged.append([start, end])\n return merged\n```\nTime O(n log n), Space O(n)"},
|
| 67 |
-
|
| 68 |
{"prompt": "Rotate Array: Rotate array to right by k steps",
|
| 69 |
"response": "```python\ndef rotate(nums, k):\n k = k % len(nums)\n nums[:] = nums[-k:] + nums[:-k]\n```\nTime O(n), Space O(1)"},
|
| 70 |
-
|
| 71 |
{"prompt": "Find Duplicate: Find the duplicate number in array where all elements are in [1,n]",
|
| 72 |
"response": "```python\ndef find_duplicate(nums):\n slow = fast = nums[0]\n while True:\n slow = nums[slow]\n fast = nums[nums[fast]]\n if slow == fast:\n break\n slow = nums[0]\n while slow != fast:\n slow = nums[slow]\n fast = nums[fast]\n return slow\n```\nTime O(n), Space O(1) - Floyd's Tortoise"},
|
| 73 |
-
|
| 74 |
{"prompt": "Container With Most Water: Find max water container between vertical lines",
|
| 75 |
"response": "```python\ndef max_area(height):\n l, r, max_water = 0, len(height)-1, 0\n while l < r:\n water = min(height[l], height[r]) * (r - l)\n max_water = max(max_water, water)\n if height[l] < height[r]:\n l += 1\n else:\n r -= 1\n return max_water\n```\nTime O(n), Space O(1)"},
|
| 76 |
-
|
| 77 |
{"prompt": "3Sum: Find all unique triplets that sum to zero",
|
| 78 |
"response": "```python\ndef three_sum(nums):\n res = []\n nums.sort()\n for i in range(len(nums)-2):\n if i > 0 and nums[i] == nums[i-1]:\n continue\n l, r = i+1, len(nums)-1\n while l < r:\n s = nums[i]+nums[l]+nums[r]\n if s == 0:\n res.append([nums[i],nums[l],nums[r]])\n l += 1; r -= 1\n while l < r and nums[l] == nums[l-1]: l += 1\n elif s < 0: l += 1\n else: r -= 1\n return res\n```\nTime O(n^2), Space O(n)"},
|
| 79 |
-
|
| 80 |
{"prompt": "Dutch National Flag: Sort 0s, 1s, 2s in-place",
|
| 81 |
"response": "```python\ndef sort_colors(nums):\n l, r = 0, len(nums)-1\n i = 0\n while i <= r:\n if nums[i] == 0:\n nums[i], nums[l] = nums[l], nums[i]\n l += 1; i += 1\n elif nums[i] == 2:\n nums[i], nums[r] = nums[r], nums[i]\n r -= 1\n else:\n i += 1\n return nums\n```\nTime O(n), Space O(1)"},
|
| 82 |
-
|
| 83 |
{"prompt": "Subarray Sum Equals K: Find number of continuous subarrays that sum to k",
|
| 84 |
"response": "```python\ndef subarray_sum(nums, k):\n count = 0\n cumsum = 0\n seen = {0: 1}\n for n in nums:\n cumsum += n\n count += seen.get(cumsum - k, 0)\n seen[cumsum] = seen.get(cumsum, 0) + 1\n return count\n```\nTime O(n), Space O(n)"},
|
| 85 |
]
|
| 86 |
problems.extend(array_problems)
|
| 87 |
-
|
| 88 |
# ==================== STRINGS ====================
|
| 89 |
string_problems = [
|
| 90 |
{"prompt": "Valid Palindrome: Check if string is palindrome ignoring non-alphanumeric",
|
| 91 |
"response": "```python\ndef is_palindrome(s):\n s = ''.join(c.lower() for c in s if c.isalnum())\n return s == s[::-1]\n```\nTime O(n), Space O(n)"},
|
| 92 |
-
|
| 93 |
{"prompt": "Longest Substring Without Repeating: Find length of longest unique char substring",
|
| 94 |
"response": "```python\ndef length_of_longest_substring(s):\n char_index = {}\n max_len = start = 0\n for i, c in enumerate(s):\n if c in char_index and char_index[c] >= start:\n start = char_index[c] + 1\n char_index[c] = i\n max_len = max(max_len, i - start + 1)\n return max_len\n```\nTime O(n), Space O(min(n, alphabet))"},
|
| 95 |
-
|
| 96 |
{"prompt": "String to Integer (atoi): Convert string to 32-bit signed integer",
|
| 97 |
"response": "```python\ndef my_atoi(s):\n s = s.strip()\n if not s: return 0\n sign = -1 if s[0] == '-' else 1\n if s[0] in '+-': s = s[1:]\n num = 0\n for c in s:\n if not c.isdigit(): break\n num = num * 10 + int(c)\n return max(-2**31, min(2**31-1, sign * num))\n```\nTime O(n), Space O(1)"},
|
| 98 |
-
|
| 99 |
{"prompt": "Implement strStr: Return index of first occurrence of needle in haystack",
|
| 100 |
"response": "```python\ndef str_str(haystack, needle):\n return haystack.find(needle)\n```\nOr KMP: Time O(n+m), Space O(m)"},
|
| 101 |
-
|
| 102 |
{"prompt": "Longest Common Prefix: Find longest common prefix among strings",
|
| 103 |
"response": "```python\ndef longest_common_prefix(strs):\n if not strs: return ''\n for i, c in enumerate(strs[0]):\n for s in strs[1:]:\n if i >= len(s) or s[i] != c:\n return strs[0][:i]\n return strs[0]\n```\nTime O(n*m), Space O(1)"},
|
| 104 |
-
|
| 105 |
{"prompt": "Valid Parentheses: Check if parentheses are balanced",
|
| 106 |
"response": "```python\ndef is_valid(s):\n stack = []\n paren = {')':'(', ']':'[', '}':'{'}\n for c in s:\n if c in paren:\n if not stack or stack.pop() != paren[c]:\n return False\n else:\n stack.append(c)\n return not stack\n```\nTime O(n), Space O(n)"},
|
| 107 |
-
|
| 108 |
{"prompt": "Word Break: Check if string can be segmented into dictionary words",
|
| 109 |
"response": "```python\ndef word_break(s, word_dict):\n dp = [False] * (len(s)+1)\n dp[0] = True\n for i in range(1, len(s)+1):\n for j in range(i):\n if dp[j] and s[j:i] in word_dict:\n dp[i] = True\n break\n return dp[len(s)]\n```\nTime O(n^2), Space O(n)"},
|
| 110 |
-
|
| 111 |
{"prompt": "Count and Say: Generate nth term of count-and-say sequence",
|
| 112 |
"response": "```python\ndef count_and_say(n):\n result = '1'\n for _ in range(n-1):\n new = ''\n i = 0\n while i < len(result):\n count = 1\n while i+1 < len(result) and result[i] == result[i+1]:\n count += 1; i += 1\n new += str(count) + result[i]\n i += 1\n result = new\n return result\n```\nTime O(n*2^n), Space O(2^n)"},
|
| 113 |
]
|
| 114 |
problems.extend(string_problems)
|
| 115 |
-
|
| 116 |
# ==================== LINKED LISTS ====================
|
| 117 |
linked_problems = [
|
| 118 |
{"prompt": "Reverse Linked List: Reverse singly linked list",
|
| 119 |
"response": "```python\ndef reverse_list(head):\n prev = None\n while head:\n next_node = head.next\n head.next = prev\n prev = head\n head = next_node\n return prev\n```\nTime O(n), Space O(1)"},
|
| 120 |
-
|
| 121 |
{"prompt": "Merge Two Sorted Lists: Merge two sorted linked lists",
|
| 122 |
"response": "```python\ndef merge_two_lists(l1, l2):\n dummy = cur = ListNode()\n while l1 and l2:\n if l1.val < l2.val:\n cur.next = l1\n l1 = l1.next\n else:\n cur.next = l2\n l2 = l2.next\n cur = cur.next\n cur.next = l1 or l2\n return dummy.next\n```\nTime O(n+m), Space O(1)"},
|
| 123 |
-
|
| 124 |
{"prompt": "Linked List Cycle: Detect if linked list has a cycle",
|
| 125 |
"response": "```python\ndef has_cycle(head):\n slow = fast = head\n while fast and fast.next:\n slow = slow.next\n fast = fast.next.next\n if slow == fast:\n return True\n return False\n```\nTime O(n), Space O(1) - Floyd's cycle detection"},
|
| 126 |
-
|
| 127 |
{"prompt": "Remove Nth Node From End: Remove nth node from end of list",
|
| 128 |
"response": "```python\ndef remove_nth_from_end(head, n):\n dummy = ListNode(0, head)\n slow = fast = dummy\n for _ in range(n+1):\n fast = fast.next\n while fast:\n slow = slow.next\n fast = fast.next\n slow.next = slow.next.next\n return dummy.next\n```\nTime O(n), Space O(1)"},
|
| 129 |
-
|
| 130 |
{"prompt": "Add Two Numbers: Add two numbers represented by linked lists",
|
| 131 |
"response": "```python\ndef add_two_numbers(l1, l2):\n dummy = cur = ListNode()\n carry = 0\n while l1 or l2 or carry:\n s = (l1.val if l1 else 0) + (l2.val if l2 else 0) + carry\n carry = s // 10\n cur.next = ListNode(s % 10)\n cur = cur.next\n l1 = l1.next if l1 else None\n l2 = l2.next if l2 else None\n return dummy.next\n```\nTime O(max(m,n)), Space O(1)"},
|
| 132 |
]
|
| 133 |
problems.extend(linked_problems)
|
| 134 |
-
|
| 135 |
# ==================== TREES ====================
|
| 136 |
tree_problems = [
|
| 137 |
{"prompt": "Binary Tree Inorder Traversal: Return inorder traversal of BST",
|
| 138 |
"response": "```python\ndef inorder(root, res=[]):\n if root:\n inorder(root.left, res)\n res.append(root.val)\n inorder(root.right, res)\n return res\n```\nOr iterative: Time O(n), Space O(h)"},
|
| 139 |
-
|
| 140 |
{"prompt": "Maximum Depth of Binary Tree: Find deepest node depth",
|
| 141 |
"response": "```python\ndef max_depth(root):\n if not root: return 0\n return 1 + max(max_depth(root.left), max_depth(root.right))\n```\nTime O(n), Space O(h)"},
|
| 142 |
-
|
| 143 |
{"prompt": "Validate Binary Search Tree: Check if tree is valid BST",
|
| 144 |
"response": "```python\ndef is_valid_bst(root, float('-inf'), float('inf')):\n if not root: return True\n if root.val <= min_val or root.val >= max_val: return False\n return is_valid_bst(root.left, min_val, root.val) and \\\n is_valid_bst(root.right, root.val, max_val)\n```\nTime O(n), Space O(h)"},
|
| 145 |
-
|
| 146 |
{"prompt": "Symmetric Tree: Check if tree is mirror of itself",
|
| 147 |
"response": "```python\ndef is_symmetric(root):\n def helper(l, r):\n if not l or not r: return l == r\n return l.val == r.val and helper(l.left, r.right) and helper(l.right, r.left)\n return helper(root, root)\n```\nTime O(n), Space O(h)"},
|
| 148 |
-
|
| 149 |
{"prompt": "Construct Binary Tree from Preorder and Inorder",
|
| 150 |
"response": "```python\ndef build_tree(preorder, inorder):\n if not preorder: return None\n root = TreeNode(preorder[0])\n idx = inorder.index(preorder[0])\n root.left = build_tree(preorder[1:idx+1], inorder[:idx])\n root.right = build_tree(preorder[idx+1:], inorder[idx+1:])\n return root\n```\nTime O(n), Space O(n)"},
|
| 151 |
-
|
| 152 |
{"prompt": "Lowest Common Ancestor of BST",
|
| 153 |
"response": "```python\ndef lowest_common_ancestor(root, p, q):\n while root:\n if p.val < root.val and q.val < root.val:\n root = root.left\n elif p.val > root.val and q.val > root.val:\n root = root.right\n else:\n return root\n return None\n```\nTime O(h), Space O(1)"},
|
| 154 |
-
|
| 155 |
{"prompt": "Binary Tree Level Order Traversal: BFS traversal",
|
| 156 |
"response": "```python\nfrom collections import deque\ndef level_order(root):\n if not root: return []\n result, queue = [], deque([root])\n while queue:\n level = []\n for _ in range(len(queue)):\n node = queue.popleft()\n level.append(node.val)\n if node.left: queue.append(node.left)\n if node.right: queue.append(node.right)\n result.append(level)\n return result\n```\nTime O(n), Space O(w)"},
|
| 157 |
]
|
| 158 |
problems.extend(tree_problems)
|
| 159 |
-
|
| 160 |
# ==================== DYNAMIC PROGRAMMING ====================
|
| 161 |
dp_problems = [
|
| 162 |
{"prompt": "Climbing Stairs: Count ways to climb n stairs (1 or 2 steps)",
|
| 163 |
"response": "```python\ndef climb_stairs(n):\n if n <= 2: return n\n dp = [0] * (n+1)\n dp[1], dp[2] = 1, 2\n for i in range(3, n+1):\n dp[i] = dp[i-1] + dp[i-2]\n return dp[n]\n```\nTime O(n), Space O(1) - can optimize to 2 vars"},
|
| 164 |
-
|
| 165 |
{"prompt": "Coin Change: Minimum coins to make amount",
|
| 166 |
"response": "```python\ndef coin_change(coins, amount):\n dp = [float('inf')] * (amount+1)\n dp[0] = 0\n for c in coins:\n for i in range(c, amount+1):\n dp[i] = min(dp[i], dp[i-c]+1)\n return dp[amount] if dp[amount] != float('inf') else -1\n```\nTime O(n*amount), Space O(amount)"},
|
| 167 |
-
|
| 168 |
{"prompt": "Longest Increasing Subsequence: Find LIS length",
|
| 169 |
"response": "```python\ndef length_of_lis(nums):\n tails = []\n for n in nums:\n i = bisect_left(tails, n)\n if i == len(tails): tails.append(n)\n else: tails[i] = n\n return len(tails)\n```\nTime O(n log n), Space O(n)"},
|
| 170 |
-
|
| 171 |
{"prompt": "Word Break: Can string be segmented into dictionary words",
|
| 172 |
"response": "```python\ndef word_break(s, word_dict):\n dp = [False] * (len(s)+1)\n dp[0] = True\n for i in range(1, len(s)+1):\n for j in range(i):\n if dp[j] and s[j:i] in word_dict:\n dp[i] = True\n break\n return dp[len(s)]\n```\nTime O(n^2), Space O(n)"},
|
| 173 |
-
|
| 174 |
{"prompt": "House Robber: Max amount without robbing adjacent houses",
|
| 175 |
"response": "```python\ndef rob(nums):\n prev = curr = 0\n for n in nums:\n prev, curr = curr, max(curr, prev + n)\n return curr\n```\nTime O(n), Space O(1)"},
|
| 176 |
-
|
| 177 |
{"prompt": "Edit Distance: Minimum edits to transform word1 to word2",
|
| 178 |
"response": "```python\ndef min_distance(word1, word2):\n m, n = len(word1), len(word2)\n dp = [[0]*(n+1) for _ in range(m+1)]\n for i in range(m+1): dp[i][0] = i\n for j in range(n+1): dp[0][j] = j\n for i in range(1, m+1):\n for j in range(1, n+1):\n if word1[i-1] == word2[j-1]:\n dp[i][j] = dp[i-1][j-1]\n else:\n dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])\n return dp[m][n]\n```\nTime O(m*n), Space O(m*n)"},
|
| 179 |
-
|
| 180 |
{"prompt": "Longest Common Subsequence: Find LCS length",
|
| 181 |
"response": "```python\ndef lcs(text1, text2):\n m, n = len(text1), len(text2)\n dp = [[0]*(n+1) for _ in range(m+1)]\n for i in range(1, m+1):\n for j in range(1, n+1):\n if text1[i-1] == text2[j-1]:\n dp[i][j] = dp[i-1][j-1] + 1\n else:\n dp[i][j] = max(dp[i-1][j], dp[i][j-1])\n return dp[m][n]\n```\nTime O(m*n), Space O(m*n)"},
|
| 182 |
-
|
| 183 |
{"prompt": "Decode Ways: Count ways to decode string",
|
| 184 |
"response": "```python\ndef num_decodings(s):\n if not s or s[0] == '0': return 0\n dp = [0] * (len(s)+1)\n dp[0] = dp[1] = 1\n for i in range(2, len(s)+1):\n if s[i-1] != '0': dp[i] += dp[i-1]\n if 10 <= int(s[i-2:i]) <= 26: dp[i] += dp[i-2]\n return dp[len(s)]\n```\nTime O(n), Space O(1)"},
|
| 185 |
]
|
| 186 |
problems.extend(dp_problems)
|
| 187 |
-
|
| 188 |
# ==================== GRAPHS ====================
|
| 189 |
graph_problems = [
|
| 190 |
{"prompt": "Number of Islands: Count islands in 2D grid",
|
| 191 |
"response": "```python\ndef num_islands(grid):\n def dfs(i, j):\n grid[i][j] = '0'\n for di, dj in [(0,1),(0,-1),(1,0),(-1,0)]:\n ni, nj = i+di, j+dj\n if 0<=ni<m and 0<=nj<n and grid[ni][nj]=='1':\n dfs(ni, nj)\n count = 0\n m, n = len(grid), len(grid[0])\n for i in range(m):\n for j in range(n):\n if grid[i][j] == '1':\n dfs(i, j)\n count += 1\n return count\n```\nTime O(m*n), Space O(m*n)"},
|
| 192 |
-
|
| 193 |
{"prompt": "Clone Graph: Deep copy undirected graph",
|
| 194 |
"response": "```python\ndef clone_graph(node):\n if not node: return None\n visited = {}\n def dfs(n):\n if n in visited: return visited[n]\n visited[n] = Node(n.val, [])\n for neighbor in n.neighbors:\n visited[n].neighbors.append(dfs(neighbor))\n return visited[n]\n return dfs(node)\n```\nTime O(V+E), Space O(V)"},
|
| 195 |
-
|
| 196 |
{"prompt": "Course Schedule: Check if can finish all courses",
|
| 197 |
"response": "```python\ndef can_finish(numCourses, prerequisites):\n graph = [[] for _ in range(numCourses)]\n visited = [0] * numCourses\n for u, v in prerequisites:\n graph[v].append(u)\n def dfs(i):\n if visited[i] == 1: return False\n if visited[i] == 2: return True\n visited[i] = 1\n for nei in graph[i]:\n if not dfs(nei): return False\n visited[i] = 2\n return True\n return all(dfs(i) for i in range(numCourses))\n```\nTime O(V+E), Space O(V)"},
|
| 198 |
-
|
| 199 |
{"prompt": "Pacific Atlantic Water Flow: Find cells that can flow to both oceans",
|
| 200 |
"response": "```python\ndef pacific_atlantic(heights):\n if not heights: return []\n m, n = len(heights), len(heights[0])\n pacific = [[False]*n for _ in range(m)]\n atlantic = [[False]*n for _ in range(m)]\n def dfs(r, c, visited, prev):\n if r<0 or c<0 or r>=m or c>=n: return\n if visited[r][c] or heights[r][c] < prev: return\n visited[r][c] = True\n for dr, dc in [(0,1),(0,-1),(1,0),(-1,0)]:\n dfs(r+dr, c+dc, visited, heights[r][c])\n for i in range(m): dfs(i, 0, pacific, 0); dfs(i, n-1, atlantic, 0)\n for j in range(n): dfs(0, j, pacific, 0); dfs(m-1, j, atlantic, 0)\n return [[i,j] for i in range(m) for j in range(n) if pacific[i][j] and atlantic[i][j]]\n```\nTime O(m*n), Space O(m*n)"},
|
| 201 |
]
|
| 202 |
problems.extend(graph_problems)
|
| 203 |
-
|
| 204 |
# ==================== SORTING & SEARCHING ====================
|
| 205 |
search_problems = [
|
| 206 |
{"prompt": "Binary Search: Find target in sorted array",
|
| 207 |
"response": "```python\ndef binary_search(arr, target):\n l, r = 0, len(arr)-1\n while l <= r:\n mid = (l + r) // 2\n if arr[mid] == target: return mid\n elif arr[mid] < target: l = mid + 1\n else: r = mid - 1\n return -1\n```\nTime O(log n), Space O(1)"},
|
| 208 |
-
|
| 209 |
{"prompt": "Search in Rotated Array: Search in rotated sorted array",
|
| 210 |
"response": "```python\ndef search(nums, target):\n l, r = 0, len(nums)-1\n while l <= r:\n mid = (l + r) // 2\n if nums[mid] == target: return mid\n if nums[l] <= nums[mid]:\n if nums[l] <= target < nums[mid]: r = mid - 1\n else: l = mid + 1\n else:\n if nums[mid] < target <= nums[r]: l = mid + 1\n else: r = mid - 1\n return -1\n```\nTime O(log n), Space O(1)"},
|
| 211 |
-
|
| 212 |
{"prompt": "Merge Sorted Array: Merge two sorted arrays in-place",
|
| 213 |
"response": "```python\ndef merge(nums1, m, nums2, n):\n i, j, k = m-1, n-1, m+n-1\n while i >= 0 and j >= 0:\n if nums1[i] > nums2[j]:\n nums1[k] = nums1[i]; i -= 1\n else:\n nums1[k] = nums2[j]; j -= 1\n k -= 1\n while j >= 0:\n nums1[k] = nums2[j]; j -= 1; k -= 1\n```\nTime O(m+n), Space O(1)"},
|
| 214 |
]
|
| 215 |
problems.extend(search_problems)
|
| 216 |
-
|
| 217 |
# ==================== RECURSION & BACKTRACKING ====================
|
| 218 |
backtrack_problems = [
|
| 219 |
{"prompt": "Generate all permutations of array",
|
| 220 |
"response": "```python\ndef permute(nums):\n res = []\n def backtrack(path, used):\n if len(path) == len(nums):\n res.append(path[:])\n return\n for i, n in enumerate(nums):\n if i in used: continue\n path.append(n)\n used.add(i)\n backtrack(path, used)\n path.pop()\n used.remove(i)\n backtrack([], set())\n return res\n```\nTime O(n!*n), Space O(n)"},
|
| 221 |
-
|
| 222 |
{"prompt": "Generate all subsets (Power Set)",
|
| 223 |
"response": "```python\ndef subsets(nums):\n res = []\n def backtrack(i, path):\n res.append(path[:])\n for j in range(i, len(nums)):\n path.append(nums[j])\n backtrack(j+1, path)\n path.pop()\n backtrack(0, [])\n return res\n```\nTime O(n*2^n), Space O(n)"},
|
| 224 |
-
|
| 225 |
{"prompt": "N-Queens: Place N queens on NxN board",
|
| 226 |
"response": "```python\ndef solve_n_queens(n):\n res = []\n cols = set()\n pos_diag = set()\n neg_diag = set()\n board = [['.' for _ in range(n)] for _ in range(n)]\n def backtrack(row):\n if row == n:\n res.append([''.join(row) for row in board])\n return\n for col in range(n):\n if col in cols or row-col in pos_diag or row+col in neg_diag:\n continue\n board[row][col] = 'Q'\n cols.add(col); pos_diag.add(row-col); neg_diag.add(row+col)\n backtrack(row+1)\n board[row][col] = '.'\n cols.remove(col); pos_diag.remove(row-col); neg_diag.remove(row+col)\n backtrack(0)\n return res\n```\nTime O(N!), Space O(N)"},
|
| 227 |
-
|
| 228 |
{"prompt": "Combination Sum: Find all combinations that sum to target",
|
| 229 |
"response": "```python\ndef combination_sum(candidates, target):\n res = []\n candidates.sort()\n def backtrack(i, path, remain):\n if remain == 0: res.append(path[:])\n if remain < 0: return\n for j in range(i, len(candidates)):\n path.append(candidates[j])\n backtrack(j, path, remain-candidates[j])\n path.pop()\n backtrack(0, [], target)\n return res\n```\nTime O(2^n), Space O(n)"},
|
| 230 |
]
|
| 231 |
problems.extend(backtrack_problems)
|
| 232 |
-
|
| 233 |
# ==================== DESIGN ====================
|
| 234 |
design_problems = [
|
| 235 |
{"prompt": "Implement LRU Cache with O(1) get and put",
|
| 236 |
"response": "```python\nfrom collections import OrderedDict\nclass LRUCache:\n def __init__(self, capacity):\n self.cache = OrderedDict()\n self.capacity = capacity\n def get(self, key):\n if key not in self.cache: return -1\n self.cache.move_to_end(key)\n return self.cache[key]\n def put(self, key, value):\n if key in self.cache: self.cache.move_to_end(key)\n self.cache[key] = value\n if len(self.cache) > self.capacity:\n self.cache.popitem(last=False)\n```\nTime O(1), Space O(capacity)"},
|
| 237 |
-
|
| 238 |
{"prompt": "Implement Trie (Prefix Tree)",
|
| 239 |
"response": "```python\nclass TrieNode:\n def __init__(self):\n self.children = {}\n self.is_end = False\nclass Trie:\n def __init__(self): self.root = TrieNode()\n def insert(self, word):\n node = self.root\n for c in word:\n if c not in node.children: node.children[c] = TrieNode()\n node = node.children[c]\n node.is_end = True\n def search(self, word):\n node = self.root\n for c in word:\n if c not in node.children: return False\n node = node.children[c]\n return node.is_end\n def startsWith(self, prefix):\n node = self.root\n for c in prefix:\n if c not in node.children: return False\n node = node.children[c]\n return True\n```\nTime O(m), Space O(m) per operation"},
|
| 240 |
-
|
| 241 |
{"prompt": "Min Stack: Stack that supports min in O(1)",
|
| 242 |
"response": "```python\nclass MinStack:\n def __init__(self):\n self.stack = []\n self.min_stack = []\n def push(self, val):\n self.stack.append(val)\n if not self.min_stack or val <= self.min_stack[-1]:\n self.min_stack.append(val)\n def pop(self):\n val = self.stack.pop()\n if val == self.min_stack[-1]: self.min_stack.pop()\n return val\n def top(self): return self.stack[-1]\n def getMin(self): return self.min_stack[-1]\n```\nTime O(1), Space O(n)"},
|
| 243 |
-
|
| 244 |
{"prompt": "Implement Rate Limiter (Token Bucket)",
|
| 245 |
"response": "```python\nimport time\nclass RateLimiter:\n def __init__(self, rate, capacity):\n self.rate = rate\n self.capacity = capacity\n self.tokens = capacity\n self.last_time = time.time()\n def allow(self):\n now = time.time()\n self.tokens = min(self.capacity, self.tokens + (now-self.last_time)*self.rate)\n self.last_time = now\n if self.tokens >= 1:\n self.tokens -= 1\n return True\n return False\n```\nTime O(1), Space O(1)"},
|
| 246 |
]
|
| 247 |
problems.extend(design_problems)
|
| 248 |
-
|
| 249 |
# ==================== JAVASCRIPT ====================
|
| 250 |
js_problems = [
|
| 251 |
{"prompt": "JavaScript: Debounce function",
|
| 252 |
"response": "```javascript\nfunction debounce(func, wait) {\n let timeout;\n return function(...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n```"},
|
| 253 |
-
|
| 254 |
{"prompt": "JavaScript: Throttle function",
|
| 255 |
"response": "```javascript\nfunction throttle(func, limit) {\n let inThrottle;\n return function(...args) {\n if (!inThrottle) {\n func.apply(this, args);\n inThrottle = true;\n setTimeout(() => inThrottle = false, limit);\n }\n };\n}\n```"},
|
| 256 |
-
|
| 257 |
{"prompt": "JavaScript: Deep clone object",
|
| 258 |
"response": "```javascript\nfunction deepClone(obj, visited = new WeakMap()) {\n if (obj === null || typeof obj !== 'object') return obj;\n if (visited.has(obj)) return visited.get(obj);\n const clone = Array.isArray(obj) ? [] : {};\n visited.set(obj, clone);\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n clone[key] = deepClone(obj[key], visited);\n }\n }\n return clone;\n}\n```"},
|
| 259 |
-
|
| 260 |
{"prompt": "JavaScript: Promise.all with timeout",
|
| 261 |
"response": "```javascript\nfunction promiseAllWithTimeout(promises, timeout) {\n return Promise.all(\n promises.map(p =>\n Promise.race([\n p,\n new Promise((_, reject) => \n setTimeout(() => reject(new Error('Timeout')), timeout)\n )\n ])\n )\n );\n}\n```"},
|
| 262 |
-
|
| 263 |
{"prompt": "JavaScript: Event Emitter implementation",
|
| 264 |
"response": "```javascript\nclass EventEmitter {\n constructor() { this.events = {}; }\n on(event, fn) {\n if (!this.events[event]) this.events[event] = [];\n this.events[event].push(fn);\n }\n emit(event, ...args) {\n if (this.events[event]) \n this.events[event].forEach(fn => fn(...args));\n }\n off(event, fn) {\n if (this.events[event]) \n this.events[event] = this.events[event].filter(f => f !== fn);\n }\n}\n```"},
|
| 265 |
-
|
| 266 |
{"prompt": "JavaScript: Currying function",
|
| 267 |
"response": "```javascript\nfunction curry(fn) {\n return function curried(...args) {\n if (args.length >= fn.length) {\n return fn.apply(this, args);\n }\n return function(...args2) {\n return curried.apply(this, args.concat(args2));\n };\n };\n}\nconst add = curry((a, b, c) => a + b + c);\nadd(1)(2)(3); // 6\n```"},
|
| 268 |
]
|
| 269 |
problems.extend(js_problems)
|
| 270 |
-
|
| 271 |
# ==================== JAVA ====================
|
| 272 |
java_problems = [
|
| 273 |
{"prompt": "Java: Thread-safe Singleton (Double-checked locking)",
|
| 274 |
"response": "```java\npublic class Singleton {\n private static volatile Singleton instance;\n private Singleton() {}\n public static Singleton getInstance() {\n if (instance == null) {\n synchronized (Singleton.class) {\n if (instance == null) {\n instance = new Singleton();\n }\n }\n }\n return instance;\n }\n}\n```"},
|
| 275 |
-
|
| 276 |
{"prompt": "Java: Producer-Consumer with wait/notify",
|
| 277 |
"response": "```java\npublic class ProducerConsumer {\n private Queue<Integer> buffer = new LinkedList<>();\n private int MAX_SIZE = 10;\n \n public synchronized void produce(int value) throws InterruptedException {\n while (buffer.size() >= MAX_SIZE) wait();\n buffer.add(value);\n notifyAll();\n }\n \n public synchronized int consume() throws InterruptedException {\n while (buffer.isEmpty()) wait();\n notifyAll();\n return buffer.poll();\n }\n}\n```"},
|
| 278 |
-
|
| 279 |
{"prompt": "Java: Builder Pattern for User class",
|
| 280 |
"response": "```java\npublic class User {\n private String name, email;\n private int age;\n \n private User(Builder b) {\n this.name = b.name; this.email = b.email; this.age = b.age;\n }\n \n public static class Builder {\n private String name, email;\n private int age = 0;\n public Builder name(String name) { this.name = name; return this; }\n public Builder email(String email) { this.email = email; return this; }\n public Builder age(int age) { this.age = age; return this; }\n public User build() { return new User(this); }\n }\n}\n// Usage: User u = new User.Builder().name(\"John\").age(25).build();\n```"},
|
| 281 |
-
|
| 282 |
{"prompt": "Java: Generic Stack implementation",
|
| 283 |
"response": "```java\npublic class Stack<T> {\n private Object[] arr;\n private int top = -1, capacity;\n \n public Stack(int capacity) {\n this.capacity = capacity;\n arr = new Object[capacity];\n }\n \n public void push(T item) {\n if (top == capacity - 1) throw new StackOverflowError();\n arr[++top] = item;\n }\n \n @SuppressWarnings(\"unchecked\")\n public T pop() {\n if (top == -1) throw new EmptyStackException();\n return (T) arr[top--];\n }\n \n public T peek() {\n if (top == -1) throw new EmptyStackException();\n return (T) arr[top];\n }\n}\n```"},
|
| 284 |
-
|
| 285 |
{"prompt": "Java: Observer Pattern",
|
| 286 |
"response": "```java\ninterface Observer { void update(String msg); }\nclass Subject {\n private List<Observer> observers = new ArrayList<>();\n public void attach(Observer o) { observers.add(o); }\n public void detach(Observer o) { observers.remove(o); }\n public void notifyAll(String msg) {\n observers.forEach(o -> o.update(msg));\n }\n}\n```"},
|
| 287 |
]
|
| 288 |
problems.extend(java_problems)
|
| 289 |
-
|
| 290 |
# ==================== ALGORITHMS & CONCEPTS ====================
|
| 291 |
concept_problems = [
|
| 292 |
{"prompt": "Explain Big O, Big Omega, Big Theta notation",
|
| 293 |
"response": "Big O: Upper bound (worst case)\nBig Omega: Lower bound (best case)\nBig Theta: Tight bound (average)\n\nExamples:\n- O(1): Array access\n- O(log n): Binary search\n- O(n): Linear search\n- O(n log n): Merge sort\n- O(n^2): Bubble sort\n- O(2^n): Recursive Fibonacci\n- O(n!): Permutations"},
|
| 294 |
-
|
| 295 |
{"prompt": "Explain and implement QuickSort",
|
| 296 |
"response": "```python\ndef quicksort(arr):\n if len(arr) <= 1: return arr\n pivot = arr[len(arr)//2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quicksort(left) + middle + quicksort(right)\n```\nAverage: O(n log n), Worst: O(n^2)\nSpace: O(n)"},
|
| 297 |
-
|
| 298 |
{"prompt": "Explain and implement MergeSort",
|
| 299 |
"response": "```python\ndef mergesort(arr):\n if len(arr) <= 1: return arr\n mid = len(arr)//2\n left = mergesort(arr[:mid])\n right = mergesort(arr[mid:])\n return merge(left, right)\n\ndef merge(l, r):\n result = []\n while l and r:\n result.append(l.pop(0) if l[0] <= r[0] else r.pop(0))\n result.extend(l or r)\n return result\n```\nTime: O(n log n), Space: O(n)\nStable sort"},
|
| 300 |
-
|
| 301 |
{"prompt": "Explain Hash Table collision resolution",
|
| 302 |
"response": "1. Chaining: Store collisions in linked list\n - Time: O(1) avg, O(n) worst\n2. Open Addressing: Find next empty slot\n - Linear probing: h(k) + i\n - Quadratic probing: h(k) + i^2\n - Double hashing: h1(k) + i*h2(k)\n\nLoad factor = n/m should be < 0.7"},
|
| 303 |
-
|
| 304 |
{"prompt": "Explain BFS vs DFS",
|
| 305 |
"response": "BFS (Breadth-First Search):\n- Uses Queue\n- Level by level traversal\n- Finds shortest path in unweighted\n- More memory\n- Good for shortest path\n\nDFS (Depth-First Search):\n- Uses Stack (or recursion)\n- Goes deep first\n- Lower memory for deep graphs\n- Good for path finding, cycles"},
|
| 306 |
-
|
| 307 |
{"prompt": "Explain Dijkstra's algorithm",
|
| 308 |
"response": "```python\nimport heapq\ndef dijkstra(graph, start):\n dist = {v: float('inf') for v in graph}\n dist[start] = 0\n pq = [(0, start)]\n while pq:\n d, u = heapq.heappop(pq)\n if d > dist[u]: continue\n for v, w in graph.get(u, []):\n if dist[u] + w < dist[v]:\n dist[v] = dist[u] + w\n heapq.heappush(pq, (dist[v], v))\n return dist\n```\nTime: O((V+E) log V)\nSpace: O(V)\nGreedy, doesn't work with negative weights"},
|
| 309 |
-
|
| 310 |
{"prompt": "Explain Union-Find (Disjoint Set)",
|
| 311 |
"response": "```python\nclass UnionFind:\n def __init__(self, n):\n self.parent = list(range(n))\n self.rank = [0] * n\n \n def find(self, x):\n if self.parent[x] != x:\n self.parent[x] = self.find(self.parent[x])\n return self.parent[x]\n \n def union(self, x, y):\n px, py = self.find(x), self.find(y)\n if px == py: return\n if self.rank[px] < self.rank[py]: px, py = py, px\n self.parent[py] = px\n if self.rank[px] == self.rank[py]: self.rank[px] += 1\n```\nTime: O(alpha(n)) - almost constant"},
|
| 312 |
]
|
| 313 |
problems.extend(concept_problems)
|
| 314 |
-
|
| 315 |
print(f"Generated {len(problems)} comprehensive problems")
|
| 316 |
return problems
|
| 317 |
|
|
@@ -319,123 +324,123 @@ def main():
|
|
| 319 |
print("=" * 60)
|
| 320 |
print("BUILDING COMPREHENSIVE DATASET")
|
| 321 |
print("=" * 60)
|
| 322 |
-
|
| 323 |
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
| 324 |
-
|
| 325 |
all_data = []
|
| 326 |
-
|
| 327 |
# 1. Generate comprehensive problems
|
| 328 |
print("\n[1/3] Generating algorithmic problems...")
|
| 329 |
problems = generate_comprehensive_problems()
|
| 330 |
all_data.extend(problems)
|
| 331 |
print(f" Total: {len(all_data)}")
|
| 332 |
-
|
| 333 |
# 2. Try HuggingFace datasets
|
| 334 |
print("\n[2/3] Loading HuggingFace datasets...")
|
| 335 |
hf_data = load_huggingface_datasets()
|
| 336 |
all_data.extend(hf_data)
|
| 337 |
print(f" Total: {len(all_data)}")
|
| 338 |
-
|
| 339 |
# 3. Add more diverse problems
|
| 340 |
print("\n[3/3] Adding additional problems...")
|
| 341 |
-
|
| 342 |
additional = [
|
| 343 |
-
{"prompt": "Python: Read file and count word frequencies",
|
| 344 |
"response": "```python\nfrom collections import Counter\nwith open('file.txt') as f:\n words = f.read().split()\nprint(Counter(words).most_common(10))\n```"},
|
| 345 |
-
|
| 346 |
{"prompt": "Python: Async HTTP request with aiohttp",
|
| 347 |
"response": "```python\nimport aiohttp, asyncio\nasync def fetch(url):\n async with aiohttp.ClientSession() as session:\n async with session.get(url) as resp:\n return await resp.text()\nasyncio.run(fetch('https://example.com'))\n```"},
|
| 348 |
-
|
| 349 |
{"prompt": "Python: Context manager for timing",
|
| 350 |
"response": "```python\nimport time\nclass Timer:\n def __enter__(self): self.start = time.time()\n def __exit__(self, *args): print(time.time()-self.start)\nwith Timer():\n # code to time\n sum(range(1000000))\n```"},
|
| 351 |
-
|
| 352 |
{"prompt": "Python: Decorator for retry logic",
|
| 353 |
"response": "```python\nimport time, functools\ndef retry(max_attempts=3, delay=1):\n def decorator(func):\n @functools.wraps(func)\n def wrapper(*args, **kwargs):\n for _ in range(max_attempts):\n try: return func(*args, **kwargs)\n except Exception as e:\n if _ == max_attempts-1: raise\n time.sleep(delay)\n return wrapper\n return decorator\n\n@retry(max_attempts=3)\ndef call_api(): pass\n```"},
|
| 354 |
-
|
| 355 |
{"prompt": "Python: Generate random password",
|
| 356 |
"response": "```python\nimport string, random\ndef generate_password(length=16):\n chars = string.ascii_letters + string.digits + string.punctuation\n return ''.join(random.choice(chars) for _ in range(length))\n```"},
|
| 357 |
-
|
| 358 |
{"prompt": "Python: Flask REST API endpoint",
|
| 359 |
"response": "```python\nfrom flask import Flask, request, jsonify\napp = Flask(__name__)\n\n@app.route('/api/users/<int:user_id>', methods=['GET'])\ndef get_user(user_id):\n return jsonify({'id': user_id, 'name': 'John'})\n\n@app.route('/api/users', methods=['POST'])\ndef create_user():\n data = request.json\n return jsonify({'id': 1, **data}), 201\n```"},
|
| 360 |
-
|
| 361 |
{"prompt": "Python: SQLAlchemy model definition",
|
| 362 |
"response": "```python\nfrom sqlalchemy import Column, Integer, String, ForeignKey\nfrom sqlalchemy.orm import relationship, declarative_base\nBase = declarative_base()\n\nclass User(Base):\n __tablename__ = 'users'\n id = Column(Integer, primary_key=True)\n name = Column(String(100), nullable=False)\n email = Column(String(100), unique=True)\n posts = relationship('Post', back_populates='author')\n\nclass Post(Base):\n __tablename__ = 'posts'\n id = Column(Integer, primary_key=True)\n title = Column(String(200))\n user_id = Column(Integer, ForeignKey('users.id'))\n author = relationship('User', back_populates='posts')\n```"},
|
| 363 |
-
|
| 364 |
{"prompt": "Python: pytest fixture example",
|
| 365 |
"response": "```python\nimport pytest\n\n@pytest.fixture\ndef db_connection():\n conn = create_connection()\n yield conn\n conn.close()\n\ndef test_user_creation(db_connection):\n user = create_user(db_connection, 'John')\n assert user.id is not None\n```"},
|
| 366 |
-
|
| 367 |
{"prompt": "Python: Logging configuration",
|
| 368 |
"response": "```python\nimport logging\nlogging.basicConfig(\n level=logging.INFO,\n format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n handlers=[\n logging.FileHandler('app.log'),\n logging.StreamHandler()\n ]\n)\nlogger = logging.getLogger(__name__)\nlogger.info('Application started')\n```"},
|
| 369 |
-
|
| 370 |
{"prompt": "Python: Thread pool executor",
|
| 371 |
"response": "```python\nfrom concurrent.futures import ThreadPoolExecutor\n\ndef process_item(item):\n # do work\n return result\n\nwith ThreadPoolExecutor(max_workers=4) as executor:\n results = list(executor.map(process_item, items))\n```"},
|
| 372 |
-
|
| 373 |
{"prompt": "Python: Unit test with unittest",
|
| 374 |
"response": "```python\nimport unittest\n\nclass TestMath(unittest.TestCase):\n def test_add(self):\n self.assertEqual(1+1, 2)\n \n def test_divide(self):\n with self.assertRaises(ZeroDivisionError):\n 1/0\n\nif __name__ == '__main__':\n unittest.main()\n```"},
|
| 375 |
-
|
| 376 |
{"prompt": "Python: Data class with validation",
|
| 377 |
"response": "```python\nfrom dataclasses import dataclass, field\nfrom typing import List\n\n@dataclass\nclass User:\n name: str\n email: str\n age: int = 0\n tags: List[str] = field(default_factory=list)\n \n def __post_init__(self):\n if '@' not in self.email:\n raise ValueError('Invalid email')\n```"},
|
| 378 |
-
|
| 379 |
{"prompt": "Python: FastAPI endpoint with Pydantic",
|
| 380 |
"response": "```python\nfrom fastapi import FastAPI, HTTPException\nfrom pydantic import BaseModel, EmailStr\n\napp = FastAPI()\n\nclass UserCreate(BaseModel):\n name: str\n email: EmailStr\n age: int = None\n\n@app.post('/users', response_model=UserCreate)\ndef create_user(user: UserCreate):\n return user\n```"},
|
| 381 |
-
|
| 382 |
{"prompt": "Python: Celery task definition",
|
| 383 |
"response": "```python\nfrom celery import Celery\napp = Celery('tasks')\n\n@app.task\ndef process_data(data):\n # expensive computation\n result = heavy_computation(data)\n return result\n\n# Call asynchronously\nresult = process_data.delay(data)\nprint(result.get(timeout=10))\n```"},
|
| 384 |
-
|
| 385 |
{"prompt": "Python: Generator for large file processing",
|
| 386 |
"response": "```python\ndef process_large_file(filepath):\n with open(filepath) as f:\n for line in f:\n yield process_line(line)\n\nfor result in process_large_file('huge.txt'):\n save_to_db(result)\n```\nMemory efficient for large files"},
|
| 387 |
-
|
| 388 |
{"prompt": "Python: Memoization decorator",
|
| 389 |
"response": "```python\nfrom functools import lru_cache\n\n@lru_cache(maxsize=128)\ndef fib(n):\n if n < 2: return n\n return fib(n-1) + fib(n-2)\n\n# Or custom:\ndef memoize(func):\n cache = {}\n def wrapper(*args):\n if args not in cache:\n cache[args] = func(*args)\n return cache[args]\n return wrapper\n```"},
|
| 390 |
-
|
| 391 |
{"prompt": "Python: Property-based testing with hypothesis",
|
| 392 |
"response": "```python\nfrom hypothesis import given, strategies as st\n\n@given(st.lists(st.integers(min_value=1)))\ndef test_sorting(lst):\n result = sorted(lst)\n assert len(result) == len(lst)\n assert all(result[i] <= result[i+1] for i in range(len(result)-1))\n```"},
|
| 393 |
-
|
| 394 |
{"prompt": "Python: NamedTuple for immutable data",
|
| 395 |
"response": "```python\nfrom collections import namedtuple\n\nPoint = namedtuple('Point', ['x', 'y'])\np = Point(1, 2)\nprint(p.x, p.y) # 1 2\nprint(p._fields) # ('x', 'y')\n```"},
|
| 396 |
-
|
| 397 |
{"prompt": "Python: Enum for constants",
|
| 398 |
"response": "```python\nfrom enum import Enum, auto\n\nclass Status(Enum):\n PENDING = auto()\n PROCESSING = auto()\n COMPLETED = auto()\n FAILED = auto()\n\nprint(Status.PENDING.name) # PENDING\nprint(Status.PENDING.value) # 1\n```"},
|
| 399 |
-
|
| 400 |
{"prompt": "Python: ABC abstract base class",
|
| 401 |
"response": "```python\nfrom abc import ABC, abstractmethod\n\nclass Shape(ABC):\n @abstractmethod\n def area(self): pass\n \n def describe(self):\n return f'Area: {self.area()}'\n\nclass Circle(Shape):\n def __init__(self, r): self.r = r\n def area(self): return 3.14 * self.r ** 2\n```"},
|
| 402 |
-
|
| 403 |
{"prompt": "Python: HTTP server with http.server",
|
| 404 |
"response": "```python\nfrom http.server import HTTPServer, BaseHTTPRequestHandler\nimport json\n\nclass Handler(BaseHTTPRequestHandler):\n def do_GET(self):\n self.send_response(200)\n self.send_header('Content-Type', 'application/json')\n self.end_headers()\n self.wfile.write(json.dumps({'message': 'OK'}).encode())\n\nHTTPServer(('localhost', 8000), Handler).serve_forever()\n```"},
|
| 405 |
-
|
| 406 |
{"prompt": "Python: SQLite connection and queries",
|
| 407 |
"response": "```python\nimport sqlite3\n\nconn = sqlite3.connect('database.db')\ncursor = conn.cursor()\n\ncursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)''')\ncursor.execute('INSERT INTO users (name) VALUES (?)', ('John',))\nconn.commit()\n\nfor row in cursor.execute('SELECT * FROM users'):\n print(row)\n\nconn.close()\n```"},
|
| 408 |
-
|
| 409 |
{"prompt": "Python: XML parsing with ElementTree",
|
| 410 |
"response": "```python\nimport xml.etree.ElementTree as ET\n\ntree = ET.parse('data.xml')\nroot = tree.getroot()\n\nfor child in root.findall('.//item'):\n print(child.get('id'), child.text)\n\n# Or create:\nroot = ET.Element('root')\nchild = ET.SubElement(root, 'item', id='1')\nchild.text = 'value'\nET.dump(root)\n```"},
|
| 411 |
-
|
| 412 |
{"prompt": "Python: JSON handling",
|
| 413 |
"response": "```python\nimport json\n\n# Load\nwith open('data.json') as f:\n data = json.load(f)\n\n# Parse string\nobj = json.loads('{\"key\": \"value\"}')\n\n# Save\nwith open('out.json', 'w') as f:\n json.dump(data, f, indent=2)\n\n# Custom encoder\nclass CustomEncoder(json.JSONEncoder):\n def default(self, obj):\n if isinstance(obj, datetime):\n return obj.isoformat()\n```"},
|
| 414 |
-
|
| 415 |
{"prompt": "Python: dataclasses.asdict()",
|
| 416 |
"response": "```python\nfrom dataclasses import dataclass, asdict\n\n@dataclass\nclass Config:\n host: str = 'localhost'\n port: int = 8080\n debug: bool = False\n\nconfig = Config()\ndict_config = asdict(config)\nprint(dict_config) # {'host': 'localhost', 'port': 8080, 'debug': False}\n```"},
|
| 417 |
-
|
| 418 |
{"prompt": "Python: Enum with methods",
|
| 419 |
"response": "```python\nfrom enum import Enum\n\nclass Color(Enum):\n RED = 1\n GREEN = 2\n BLUE = 3\n \n def is_primary(self):\n return self in (Color.RED, Color.GREEN, Color.BLUE)\n\nprint(Color.RED.is_primary()) # True\n```"},
|
| 420 |
-
|
| 421 |
{"prompt": "Python: argparse CLI",
|
| 422 |
"response": "```python\nimport argparse\n\nparser = argparse.ArgumentParser(description='My tool')\nparser.add_argument('-n', '--name', required=True, help='Your name')\nparser.add_argument('-v', '--verbose', action='store_true')\nparser.add_argument('-c', '--count', type=int, default=1)\n\nargs = parser.parse_args()\nprint(f'Hello {args.name}' * args.count)\n```\nRun: python script.py -n John -v -c 3"},
|
| 423 |
-
|
| 424 |
{"prompt": "Python: Simple CLI with click",
|
| 425 |
"response": "```python\nimport click\n\n@click.command()\n@click.option('--name', default='World', help='Name to greet')\n@click.argument('count', default=1, type=int)\ndef hello(name, count):\n for _ in range(count):\n click.echo(f'Hello {name}!')\n\nif __name__ == '__main__':\n hello()\n```\nRun: python script.py John --count 3"},
|
| 426 |
]
|
| 427 |
-
|
| 428 |
all_data.extend(additional)
|
| 429 |
-
|
| 430 |
print(f"\n[TOTAL] {len(all_data)} samples")
|
| 431 |
-
|
| 432 |
# Save
|
| 433 |
with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
|
| 434 |
json.dump(all_data, f, indent=2, ensure_ascii=False)
|
| 435 |
-
|
| 436 |
print(f"\nSaved to: {OUTPUT_FILE}")
|
| 437 |
print(f"File size: {OUTPUT_FILE.stat().st_size / 1024:.1f} KB")
|
| 438 |
-
|
| 439 |
return len(all_data)
|
| 440 |
|
| 441 |
if __name__ == "__main__":
|
|
|
|
| 6 |
|
| 7 |
import json
|
| 8 |
from bisect import bisect_left
|
| 9 |
+
from collections.abc import Mapping
|
| 10 |
from pathlib import Path
|
| 11 |
from datetime import datetime
|
| 12 |
+
from typing import Any, cast
|
| 13 |
|
| 14 |
OUTPUT_DIR = Path("datasets/raw")
|
| 15 |
OUTPUT_FILE = OUTPUT_DIR / "blitzkode_full_training.json"
|
|
|
|
| 17 |
def load_huggingface_datasets():
|
| 18 |
"""Try to load datasets from HuggingFace"""
|
| 19 |
datasets = []
|
| 20 |
+
|
| 21 |
try:
|
| 22 |
from datasets import load_dataset
|
| 23 |
print("[HF] Loading datasets...")
|
| 24 |
+
|
| 25 |
# Try different datasets
|
| 26 |
dataset_names = [
|
| 27 |
"openai/gsm8k",
|
|
|
|
| 29 |
"meta-math/MathInstruct",
|
| 30 |
"技术桃子/gsm8k-grade-school-math",
|
| 31 |
]
|
| 32 |
+
|
| 33 |
for name in dataset_names:
|
| 34 |
try:
|
| 35 |
print(f" Trying {name}...")
|
| 36 |
+
ds = cast(Any, load_dataset(name, split="train[:100]"))
|
| 37 |
print(f" Loaded {len(ds)} from {name}")
|
| 38 |
+
for raw_item in ds:
|
| 39 |
+
if not isinstance(raw_item, Mapping):
|
| 40 |
+
continue
|
| 41 |
+
item = cast(Mapping[str, Any], raw_item)
|
| 42 |
datasets.append({
|
| 43 |
"prompt": str(item.get("question", item.get("instruction", "")))[:500],
|
| 44 |
"response": str(item.get("answer", item.get("response", item.get("output", ""))))[:1000]
|
| 45 |
})
|
| 46 |
except Exception as e:
|
| 47 |
print(f" Failed: {e}")
|
| 48 |
+
|
| 49 |
except ImportError:
|
| 50 |
print("[HF] datasets library not available")
|
| 51 |
+
|
| 52 |
return datasets
|
| 53 |
|
| 54 |
def generate_comprehensive_problems():
|
| 55 |
"""Generate 500+ comprehensive coding problems"""
|
| 56 |
+
|
| 57 |
problems = []
|
| 58 |
+
|
| 59 |
# ==================== ARRAYS ====================
|
| 60 |
array_problems = [
|
| 61 |
+
{"prompt": "Two Sum: Given array nums and target, return indices of two numbers that add to target",
|
| 62 |
"response": "```python\ndef two_sum(nums, target):\n seen = {}\n for i, n in enumerate(nums):\n if target - n in seen:\n return [seen[target-n], i]\n seen[n] = i\n return []\n```\nTime O(n), Space O(n)"},
|
| 63 |
+
|
| 64 |
{"prompt": "Maximum Subarray: Find contiguous subarray with largest sum (Kadane's algorithm)",
|
| 65 |
"response": "```python\ndef max_subarray(nums):\n max_sum = curr = nums[0]\n for n in nums[1:]:\n curr = max(n, curr + n)\n max_sum = max(max_sum, curr)\n return max_sum\n```\nTime O(n), Space O(1)"},
|
| 66 |
+
|
| 67 |
{"prompt": "Product of Array Except Self: Return array where each element is product of all other elements",
|
| 68 |
"response": "```python\ndef product_except_self(nums):\n n = len(nums)\n result = [1] * n\n prefix = 1\n for i in range(n):\n result[i] = prefix\n prefix *= nums[i]\n suffix = 1\n for i in range(n-1, -1, -1):\n result[i] *= suffix\n suffix *= nums[i]\n return result\n```\nTime O(n), Space O(1)"},
|
| 69 |
+
|
| 70 |
{"prompt": "Merge Intervals: Merge all overlapping intervals",
|
| 71 |
"response": "```python\ndef merge(intervals):\n intervals.sort(key=lambda x: x[0])\n merged = [intervals[0]]\n for start, end in intervals[1:]:\n if merged[-1][1] >= start:\n merged[-1][1] = max(merged[-1][1], end)\n else:\n merged.append([start, end])\n return merged\n```\nTime O(n log n), Space O(n)"},
|
| 72 |
+
|
| 73 |
{"prompt": "Rotate Array: Rotate array to right by k steps",
|
| 74 |
"response": "```python\ndef rotate(nums, k):\n k = k % len(nums)\n nums[:] = nums[-k:] + nums[:-k]\n```\nTime O(n), Space O(1)"},
|
| 75 |
+
|
| 76 |
{"prompt": "Find Duplicate: Find the duplicate number in array where all elements are in [1,n]",
|
| 77 |
"response": "```python\ndef find_duplicate(nums):\n slow = fast = nums[0]\n while True:\n slow = nums[slow]\n fast = nums[nums[fast]]\n if slow == fast:\n break\n slow = nums[0]\n while slow != fast:\n slow = nums[slow]\n fast = nums[fast]\n return slow\n```\nTime O(n), Space O(1) - Floyd's Tortoise"},
|
| 78 |
+
|
| 79 |
{"prompt": "Container With Most Water: Find max water container between vertical lines",
|
| 80 |
"response": "```python\ndef max_area(height):\n l, r, max_water = 0, len(height)-1, 0\n while l < r:\n water = min(height[l], height[r]) * (r - l)\n max_water = max(max_water, water)\n if height[l] < height[r]:\n l += 1\n else:\n r -= 1\n return max_water\n```\nTime O(n), Space O(1)"},
|
| 81 |
+
|
| 82 |
{"prompt": "3Sum: Find all unique triplets that sum to zero",
|
| 83 |
"response": "```python\ndef three_sum(nums):\n res = []\n nums.sort()\n for i in range(len(nums)-2):\n if i > 0 and nums[i] == nums[i-1]:\n continue\n l, r = i+1, len(nums)-1\n while l < r:\n s = nums[i]+nums[l]+nums[r]\n if s == 0:\n res.append([nums[i],nums[l],nums[r]])\n l += 1; r -= 1\n while l < r and nums[l] == nums[l-1]: l += 1\n elif s < 0: l += 1\n else: r -= 1\n return res\n```\nTime O(n^2), Space O(n)"},
|
| 84 |
+
|
| 85 |
{"prompt": "Dutch National Flag: Sort 0s, 1s, 2s in-place",
|
| 86 |
"response": "```python\ndef sort_colors(nums):\n l, r = 0, len(nums)-1\n i = 0\n while i <= r:\n if nums[i] == 0:\n nums[i], nums[l] = nums[l], nums[i]\n l += 1; i += 1\n elif nums[i] == 2:\n nums[i], nums[r] = nums[r], nums[i]\n r -= 1\n else:\n i += 1\n return nums\n```\nTime O(n), Space O(1)"},
|
| 87 |
+
|
| 88 |
{"prompt": "Subarray Sum Equals K: Find number of continuous subarrays that sum to k",
|
| 89 |
"response": "```python\ndef subarray_sum(nums, k):\n count = 0\n cumsum = 0\n seen = {0: 1}\n for n in nums:\n cumsum += n\n count += seen.get(cumsum - k, 0)\n seen[cumsum] = seen.get(cumsum, 0) + 1\n return count\n```\nTime O(n), Space O(n)"},
|
| 90 |
]
|
| 91 |
problems.extend(array_problems)
|
| 92 |
+
|
| 93 |
# ==================== STRINGS ====================
|
| 94 |
string_problems = [
|
| 95 |
{"prompt": "Valid Palindrome: Check if string is palindrome ignoring non-alphanumeric",
|
| 96 |
"response": "```python\ndef is_palindrome(s):\n s = ''.join(c.lower() for c in s if c.isalnum())\n return s == s[::-1]\n```\nTime O(n), Space O(n)"},
|
| 97 |
+
|
| 98 |
{"prompt": "Longest Substring Without Repeating: Find length of longest unique char substring",
|
| 99 |
"response": "```python\ndef length_of_longest_substring(s):\n char_index = {}\n max_len = start = 0\n for i, c in enumerate(s):\n if c in char_index and char_index[c] >= start:\n start = char_index[c] + 1\n char_index[c] = i\n max_len = max(max_len, i - start + 1)\n return max_len\n```\nTime O(n), Space O(min(n, alphabet))"},
|
| 100 |
+
|
| 101 |
{"prompt": "String to Integer (atoi): Convert string to 32-bit signed integer",
|
| 102 |
"response": "```python\ndef my_atoi(s):\n s = s.strip()\n if not s: return 0\n sign = -1 if s[0] == '-' else 1\n if s[0] in '+-': s = s[1:]\n num = 0\n for c in s:\n if not c.isdigit(): break\n num = num * 10 + int(c)\n return max(-2**31, min(2**31-1, sign * num))\n```\nTime O(n), Space O(1)"},
|
| 103 |
+
|
| 104 |
{"prompt": "Implement strStr: Return index of first occurrence of needle in haystack",
|
| 105 |
"response": "```python\ndef str_str(haystack, needle):\n return haystack.find(needle)\n```\nOr KMP: Time O(n+m), Space O(m)"},
|
| 106 |
+
|
| 107 |
{"prompt": "Longest Common Prefix: Find longest common prefix among strings",
|
| 108 |
"response": "```python\ndef longest_common_prefix(strs):\n if not strs: return ''\n for i, c in enumerate(strs[0]):\n for s in strs[1:]:\n if i >= len(s) or s[i] != c:\n return strs[0][:i]\n return strs[0]\n```\nTime O(n*m), Space O(1)"},
|
| 109 |
+
|
| 110 |
{"prompt": "Valid Parentheses: Check if parentheses are balanced",
|
| 111 |
"response": "```python\ndef is_valid(s):\n stack = []\n paren = {')':'(', ']':'[', '}':'{'}\n for c in s:\n if c in paren:\n if not stack or stack.pop() != paren[c]:\n return False\n else:\n stack.append(c)\n return not stack\n```\nTime O(n), Space O(n)"},
|
| 112 |
+
|
| 113 |
{"prompt": "Word Break: Check if string can be segmented into dictionary words",
|
| 114 |
"response": "```python\ndef word_break(s, word_dict):\n dp = [False] * (len(s)+1)\n dp[0] = True\n for i in range(1, len(s)+1):\n for j in range(i):\n if dp[j] and s[j:i] in word_dict:\n dp[i] = True\n break\n return dp[len(s)]\n```\nTime O(n^2), Space O(n)"},
|
| 115 |
+
|
| 116 |
{"prompt": "Count and Say: Generate nth term of count-and-say sequence",
|
| 117 |
"response": "```python\ndef count_and_say(n):\n result = '1'\n for _ in range(n-1):\n new = ''\n i = 0\n while i < len(result):\n count = 1\n while i+1 < len(result) and result[i] == result[i+1]:\n count += 1; i += 1\n new += str(count) + result[i]\n i += 1\n result = new\n return result\n```\nTime O(n*2^n), Space O(2^n)"},
|
| 118 |
]
|
| 119 |
problems.extend(string_problems)
|
| 120 |
+
|
| 121 |
# ==================== LINKED LISTS ====================
|
| 122 |
linked_problems = [
|
| 123 |
{"prompt": "Reverse Linked List: Reverse singly linked list",
|
| 124 |
"response": "```python\ndef reverse_list(head):\n prev = None\n while head:\n next_node = head.next\n head.next = prev\n prev = head\n head = next_node\n return prev\n```\nTime O(n), Space O(1)"},
|
| 125 |
+
|
| 126 |
{"prompt": "Merge Two Sorted Lists: Merge two sorted linked lists",
|
| 127 |
"response": "```python\ndef merge_two_lists(l1, l2):\n dummy = cur = ListNode()\n while l1 and l2:\n if l1.val < l2.val:\n cur.next = l1\n l1 = l1.next\n else:\n cur.next = l2\n l2 = l2.next\n cur = cur.next\n cur.next = l1 or l2\n return dummy.next\n```\nTime O(n+m), Space O(1)"},
|
| 128 |
+
|
| 129 |
{"prompt": "Linked List Cycle: Detect if linked list has a cycle",
|
| 130 |
"response": "```python\ndef has_cycle(head):\n slow = fast = head\n while fast and fast.next:\n slow = slow.next\n fast = fast.next.next\n if slow == fast:\n return True\n return False\n```\nTime O(n), Space O(1) - Floyd's cycle detection"},
|
| 131 |
+
|
| 132 |
{"prompt": "Remove Nth Node From End: Remove nth node from end of list",
|
| 133 |
"response": "```python\ndef remove_nth_from_end(head, n):\n dummy = ListNode(0, head)\n slow = fast = dummy\n for _ in range(n+1):\n fast = fast.next\n while fast:\n slow = slow.next\n fast = fast.next\n slow.next = slow.next.next\n return dummy.next\n```\nTime O(n), Space O(1)"},
|
| 134 |
+
|
| 135 |
{"prompt": "Add Two Numbers: Add two numbers represented by linked lists",
|
| 136 |
"response": "```python\ndef add_two_numbers(l1, l2):\n dummy = cur = ListNode()\n carry = 0\n while l1 or l2 or carry:\n s = (l1.val if l1 else 0) + (l2.val if l2 else 0) + carry\n carry = s // 10\n cur.next = ListNode(s % 10)\n cur = cur.next\n l1 = l1.next if l1 else None\n l2 = l2.next if l2 else None\n return dummy.next\n```\nTime O(max(m,n)), Space O(1)"},
|
| 137 |
]
|
| 138 |
problems.extend(linked_problems)
|
| 139 |
+
|
| 140 |
# ==================== TREES ====================
|
| 141 |
tree_problems = [
|
| 142 |
{"prompt": "Binary Tree Inorder Traversal: Return inorder traversal of BST",
|
| 143 |
"response": "```python\ndef inorder(root, res=[]):\n if root:\n inorder(root.left, res)\n res.append(root.val)\n inorder(root.right, res)\n return res\n```\nOr iterative: Time O(n), Space O(h)"},
|
| 144 |
+
|
| 145 |
{"prompt": "Maximum Depth of Binary Tree: Find deepest node depth",
|
| 146 |
"response": "```python\ndef max_depth(root):\n if not root: return 0\n return 1 + max(max_depth(root.left), max_depth(root.right))\n```\nTime O(n), Space O(h)"},
|
| 147 |
+
|
| 148 |
{"prompt": "Validate Binary Search Tree: Check if tree is valid BST",
|
| 149 |
"response": "```python\ndef is_valid_bst(root, float('-inf'), float('inf')):\n if not root: return True\n if root.val <= min_val or root.val >= max_val: return False\n return is_valid_bst(root.left, min_val, root.val) and \\\n is_valid_bst(root.right, root.val, max_val)\n```\nTime O(n), Space O(h)"},
|
| 150 |
+
|
| 151 |
{"prompt": "Symmetric Tree: Check if tree is mirror of itself",
|
| 152 |
"response": "```python\ndef is_symmetric(root):\n def helper(l, r):\n if not l or not r: return l == r\n return l.val == r.val and helper(l.left, r.right) and helper(l.right, r.left)\n return helper(root, root)\n```\nTime O(n), Space O(h)"},
|
| 153 |
+
|
| 154 |
{"prompt": "Construct Binary Tree from Preorder and Inorder",
|
| 155 |
"response": "```python\ndef build_tree(preorder, inorder):\n if not preorder: return None\n root = TreeNode(preorder[0])\n idx = inorder.index(preorder[0])\n root.left = build_tree(preorder[1:idx+1], inorder[:idx])\n root.right = build_tree(preorder[idx+1:], inorder[idx+1:])\n return root\n```\nTime O(n), Space O(n)"},
|
| 156 |
+
|
| 157 |
{"prompt": "Lowest Common Ancestor of BST",
|
| 158 |
"response": "```python\ndef lowest_common_ancestor(root, p, q):\n while root:\n if p.val < root.val and q.val < root.val:\n root = root.left\n elif p.val > root.val and q.val > root.val:\n root = root.right\n else:\n return root\n return None\n```\nTime O(h), Space O(1)"},
|
| 159 |
+
|
| 160 |
{"prompt": "Binary Tree Level Order Traversal: BFS traversal",
|
| 161 |
"response": "```python\nfrom collections import deque\ndef level_order(root):\n if not root: return []\n result, queue = [], deque([root])\n while queue:\n level = []\n for _ in range(len(queue)):\n node = queue.popleft()\n level.append(node.val)\n if node.left: queue.append(node.left)\n if node.right: queue.append(node.right)\n result.append(level)\n return result\n```\nTime O(n), Space O(w)"},
|
| 162 |
]
|
| 163 |
problems.extend(tree_problems)
|
| 164 |
+
|
| 165 |
# ==================== DYNAMIC PROGRAMMING ====================
|
| 166 |
dp_problems = [
|
| 167 |
{"prompt": "Climbing Stairs: Count ways to climb n stairs (1 or 2 steps)",
|
| 168 |
"response": "```python\ndef climb_stairs(n):\n if n <= 2: return n\n dp = [0] * (n+1)\n dp[1], dp[2] = 1, 2\n for i in range(3, n+1):\n dp[i] = dp[i-1] + dp[i-2]\n return dp[n]\n```\nTime O(n), Space O(1) - can optimize to 2 vars"},
|
| 169 |
+
|
| 170 |
{"prompt": "Coin Change: Minimum coins to make amount",
|
| 171 |
"response": "```python\ndef coin_change(coins, amount):\n dp = [float('inf')] * (amount+1)\n dp[0] = 0\n for c in coins:\n for i in range(c, amount+1):\n dp[i] = min(dp[i], dp[i-c]+1)\n return dp[amount] if dp[amount] != float('inf') else -1\n```\nTime O(n*amount), Space O(amount)"},
|
| 172 |
+
|
| 173 |
{"prompt": "Longest Increasing Subsequence: Find LIS length",
|
| 174 |
"response": "```python\ndef length_of_lis(nums):\n tails = []\n for n in nums:\n i = bisect_left(tails, n)\n if i == len(tails): tails.append(n)\n else: tails[i] = n\n return len(tails)\n```\nTime O(n log n), Space O(n)"},
|
| 175 |
+
|
| 176 |
{"prompt": "Word Break: Can string be segmented into dictionary words",
|
| 177 |
"response": "```python\ndef word_break(s, word_dict):\n dp = [False] * (len(s)+1)\n dp[0] = True\n for i in range(1, len(s)+1):\n for j in range(i):\n if dp[j] and s[j:i] in word_dict:\n dp[i] = True\n break\n return dp[len(s)]\n```\nTime O(n^2), Space O(n)"},
|
| 178 |
+
|
| 179 |
{"prompt": "House Robber: Max amount without robbing adjacent houses",
|
| 180 |
"response": "```python\ndef rob(nums):\n prev = curr = 0\n for n in nums:\n prev, curr = curr, max(curr, prev + n)\n return curr\n```\nTime O(n), Space O(1)"},
|
| 181 |
+
|
| 182 |
{"prompt": "Edit Distance: Minimum edits to transform word1 to word2",
|
| 183 |
"response": "```python\ndef min_distance(word1, word2):\n m, n = len(word1), len(word2)\n dp = [[0]*(n+1) for _ in range(m+1)]\n for i in range(m+1): dp[i][0] = i\n for j in range(n+1): dp[0][j] = j\n for i in range(1, m+1):\n for j in range(1, n+1):\n if word1[i-1] == word2[j-1]:\n dp[i][j] = dp[i-1][j-1]\n else:\n dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])\n return dp[m][n]\n```\nTime O(m*n), Space O(m*n)"},
|
| 184 |
+
|
| 185 |
{"prompt": "Longest Common Subsequence: Find LCS length",
|
| 186 |
"response": "```python\ndef lcs(text1, text2):\n m, n = len(text1), len(text2)\n dp = [[0]*(n+1) for _ in range(m+1)]\n for i in range(1, m+1):\n for j in range(1, n+1):\n if text1[i-1] == text2[j-1]:\n dp[i][j] = dp[i-1][j-1] + 1\n else:\n dp[i][j] = max(dp[i-1][j], dp[i][j-1])\n return dp[m][n]\n```\nTime O(m*n), Space O(m*n)"},
|
| 187 |
+
|
| 188 |
{"prompt": "Decode Ways: Count ways to decode string",
|
| 189 |
"response": "```python\ndef num_decodings(s):\n if not s or s[0] == '0': return 0\n dp = [0] * (len(s)+1)\n dp[0] = dp[1] = 1\n for i in range(2, len(s)+1):\n if s[i-1] != '0': dp[i] += dp[i-1]\n if 10 <= int(s[i-2:i]) <= 26: dp[i] += dp[i-2]\n return dp[len(s)]\n```\nTime O(n), Space O(1)"},
|
| 190 |
]
|
| 191 |
problems.extend(dp_problems)
|
| 192 |
+
|
| 193 |
# ==================== GRAPHS ====================
|
| 194 |
graph_problems = [
|
| 195 |
{"prompt": "Number of Islands: Count islands in 2D grid",
|
| 196 |
"response": "```python\ndef num_islands(grid):\n def dfs(i, j):\n grid[i][j] = '0'\n for di, dj in [(0,1),(0,-1),(1,0),(-1,0)]:\n ni, nj = i+di, j+dj\n if 0<=ni<m and 0<=nj<n and grid[ni][nj]=='1':\n dfs(ni, nj)\n count = 0\n m, n = len(grid), len(grid[0])\n for i in range(m):\n for j in range(n):\n if grid[i][j] == '1':\n dfs(i, j)\n count += 1\n return count\n```\nTime O(m*n), Space O(m*n)"},
|
| 197 |
+
|
| 198 |
{"prompt": "Clone Graph: Deep copy undirected graph",
|
| 199 |
"response": "```python\ndef clone_graph(node):\n if not node: return None\n visited = {}\n def dfs(n):\n if n in visited: return visited[n]\n visited[n] = Node(n.val, [])\n for neighbor in n.neighbors:\n visited[n].neighbors.append(dfs(neighbor))\n return visited[n]\n return dfs(node)\n```\nTime O(V+E), Space O(V)"},
|
| 200 |
+
|
| 201 |
{"prompt": "Course Schedule: Check if can finish all courses",
|
| 202 |
"response": "```python\ndef can_finish(numCourses, prerequisites):\n graph = [[] for _ in range(numCourses)]\n visited = [0] * numCourses\n for u, v in prerequisites:\n graph[v].append(u)\n def dfs(i):\n if visited[i] == 1: return False\n if visited[i] == 2: return True\n visited[i] = 1\n for nei in graph[i]:\n if not dfs(nei): return False\n visited[i] = 2\n return True\n return all(dfs(i) for i in range(numCourses))\n```\nTime O(V+E), Space O(V)"},
|
| 203 |
+
|
| 204 |
{"prompt": "Pacific Atlantic Water Flow: Find cells that can flow to both oceans",
|
| 205 |
"response": "```python\ndef pacific_atlantic(heights):\n if not heights: return []\n m, n = len(heights), len(heights[0])\n pacific = [[False]*n for _ in range(m)]\n atlantic = [[False]*n for _ in range(m)]\n def dfs(r, c, visited, prev):\n if r<0 or c<0 or r>=m or c>=n: return\n if visited[r][c] or heights[r][c] < prev: return\n visited[r][c] = True\n for dr, dc in [(0,1),(0,-1),(1,0),(-1,0)]:\n dfs(r+dr, c+dc, visited, heights[r][c])\n for i in range(m): dfs(i, 0, pacific, 0); dfs(i, n-1, atlantic, 0)\n for j in range(n): dfs(0, j, pacific, 0); dfs(m-1, j, atlantic, 0)\n return [[i,j] for i in range(m) for j in range(n) if pacific[i][j] and atlantic[i][j]]\n```\nTime O(m*n), Space O(m*n)"},
|
| 206 |
]
|
| 207 |
problems.extend(graph_problems)
|
| 208 |
+
|
| 209 |
# ==================== SORTING & SEARCHING ====================
|
| 210 |
search_problems = [
|
| 211 |
{"prompt": "Binary Search: Find target in sorted array",
|
| 212 |
"response": "```python\ndef binary_search(arr, target):\n l, r = 0, len(arr)-1\n while l <= r:\n mid = (l + r) // 2\n if arr[mid] == target: return mid\n elif arr[mid] < target: l = mid + 1\n else: r = mid - 1\n return -1\n```\nTime O(log n), Space O(1)"},
|
| 213 |
+
|
| 214 |
{"prompt": "Search in Rotated Array: Search in rotated sorted array",
|
| 215 |
"response": "```python\ndef search(nums, target):\n l, r = 0, len(nums)-1\n while l <= r:\n mid = (l + r) // 2\n if nums[mid] == target: return mid\n if nums[l] <= nums[mid]:\n if nums[l] <= target < nums[mid]: r = mid - 1\n else: l = mid + 1\n else:\n if nums[mid] < target <= nums[r]: l = mid + 1\n else: r = mid - 1\n return -1\n```\nTime O(log n), Space O(1)"},
|
| 216 |
+
|
| 217 |
{"prompt": "Merge Sorted Array: Merge two sorted arrays in-place",
|
| 218 |
"response": "```python\ndef merge(nums1, m, nums2, n):\n i, j, k = m-1, n-1, m+n-1\n while i >= 0 and j >= 0:\n if nums1[i] > nums2[j]:\n nums1[k] = nums1[i]; i -= 1\n else:\n nums1[k] = nums2[j]; j -= 1\n k -= 1\n while j >= 0:\n nums1[k] = nums2[j]; j -= 1; k -= 1\n```\nTime O(m+n), Space O(1)"},
|
| 219 |
]
|
| 220 |
problems.extend(search_problems)
|
| 221 |
+
|
| 222 |
# ==================== RECURSION & BACKTRACKING ====================
|
| 223 |
backtrack_problems = [
|
| 224 |
{"prompt": "Generate all permutations of array",
|
| 225 |
"response": "```python\ndef permute(nums):\n res = []\n def backtrack(path, used):\n if len(path) == len(nums):\n res.append(path[:])\n return\n for i, n in enumerate(nums):\n if i in used: continue\n path.append(n)\n used.add(i)\n backtrack(path, used)\n path.pop()\n used.remove(i)\n backtrack([], set())\n return res\n```\nTime O(n!*n), Space O(n)"},
|
| 226 |
+
|
| 227 |
{"prompt": "Generate all subsets (Power Set)",
|
| 228 |
"response": "```python\ndef subsets(nums):\n res = []\n def backtrack(i, path):\n res.append(path[:])\n for j in range(i, len(nums)):\n path.append(nums[j])\n backtrack(j+1, path)\n path.pop()\n backtrack(0, [])\n return res\n```\nTime O(n*2^n), Space O(n)"},
|
| 229 |
+
|
| 230 |
{"prompt": "N-Queens: Place N queens on NxN board",
|
| 231 |
"response": "```python\ndef solve_n_queens(n):\n res = []\n cols = set()\n pos_diag = set()\n neg_diag = set()\n board = [['.' for _ in range(n)] for _ in range(n)]\n def backtrack(row):\n if row == n:\n res.append([''.join(row) for row in board])\n return\n for col in range(n):\n if col in cols or row-col in pos_diag or row+col in neg_diag:\n continue\n board[row][col] = 'Q'\n cols.add(col); pos_diag.add(row-col); neg_diag.add(row+col)\n backtrack(row+1)\n board[row][col] = '.'\n cols.remove(col); pos_diag.remove(row-col); neg_diag.remove(row+col)\n backtrack(0)\n return res\n```\nTime O(N!), Space O(N)"},
|
| 232 |
+
|
| 233 |
{"prompt": "Combination Sum: Find all combinations that sum to target",
|
| 234 |
"response": "```python\ndef combination_sum(candidates, target):\n res = []\n candidates.sort()\n def backtrack(i, path, remain):\n if remain == 0: res.append(path[:])\n if remain < 0: return\n for j in range(i, len(candidates)):\n path.append(candidates[j])\n backtrack(j, path, remain-candidates[j])\n path.pop()\n backtrack(0, [], target)\n return res\n```\nTime O(2^n), Space O(n)"},
|
| 235 |
]
|
| 236 |
problems.extend(backtrack_problems)
|
| 237 |
+
|
| 238 |
# ==================== DESIGN ====================
|
| 239 |
design_problems = [
|
| 240 |
{"prompt": "Implement LRU Cache with O(1) get and put",
|
| 241 |
"response": "```python\nfrom collections import OrderedDict\nclass LRUCache:\n def __init__(self, capacity):\n self.cache = OrderedDict()\n self.capacity = capacity\n def get(self, key):\n if key not in self.cache: return -1\n self.cache.move_to_end(key)\n return self.cache[key]\n def put(self, key, value):\n if key in self.cache: self.cache.move_to_end(key)\n self.cache[key] = value\n if len(self.cache) > self.capacity:\n self.cache.popitem(last=False)\n```\nTime O(1), Space O(capacity)"},
|
| 242 |
+
|
| 243 |
{"prompt": "Implement Trie (Prefix Tree)",
|
| 244 |
"response": "```python\nclass TrieNode:\n def __init__(self):\n self.children = {}\n self.is_end = False\nclass Trie:\n def __init__(self): self.root = TrieNode()\n def insert(self, word):\n node = self.root\n for c in word:\n if c not in node.children: node.children[c] = TrieNode()\n node = node.children[c]\n node.is_end = True\n def search(self, word):\n node = self.root\n for c in word:\n if c not in node.children: return False\n node = node.children[c]\n return node.is_end\n def startsWith(self, prefix):\n node = self.root\n for c in prefix:\n if c not in node.children: return False\n node = node.children[c]\n return True\n```\nTime O(m), Space O(m) per operation"},
|
| 245 |
+
|
| 246 |
{"prompt": "Min Stack: Stack that supports min in O(1)",
|
| 247 |
"response": "```python\nclass MinStack:\n def __init__(self):\n self.stack = []\n self.min_stack = []\n def push(self, val):\n self.stack.append(val)\n if not self.min_stack or val <= self.min_stack[-1]:\n self.min_stack.append(val)\n def pop(self):\n val = self.stack.pop()\n if val == self.min_stack[-1]: self.min_stack.pop()\n return val\n def top(self): return self.stack[-1]\n def getMin(self): return self.min_stack[-1]\n```\nTime O(1), Space O(n)"},
|
| 248 |
+
|
| 249 |
{"prompt": "Implement Rate Limiter (Token Bucket)",
|
| 250 |
"response": "```python\nimport time\nclass RateLimiter:\n def __init__(self, rate, capacity):\n self.rate = rate\n self.capacity = capacity\n self.tokens = capacity\n self.last_time = time.time()\n def allow(self):\n now = time.time()\n self.tokens = min(self.capacity, self.tokens + (now-self.last_time)*self.rate)\n self.last_time = now\n if self.tokens >= 1:\n self.tokens -= 1\n return True\n return False\n```\nTime O(1), Space O(1)"},
|
| 251 |
]
|
| 252 |
problems.extend(design_problems)
|
| 253 |
+
|
| 254 |
# ==================== JAVASCRIPT ====================
|
| 255 |
js_problems = [
|
| 256 |
{"prompt": "JavaScript: Debounce function",
|
| 257 |
"response": "```javascript\nfunction debounce(func, wait) {\n let timeout;\n return function(...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n```"},
|
| 258 |
+
|
| 259 |
{"prompt": "JavaScript: Throttle function",
|
| 260 |
"response": "```javascript\nfunction throttle(func, limit) {\n let inThrottle;\n return function(...args) {\n if (!inThrottle) {\n func.apply(this, args);\n inThrottle = true;\n setTimeout(() => inThrottle = false, limit);\n }\n };\n}\n```"},
|
| 261 |
+
|
| 262 |
{"prompt": "JavaScript: Deep clone object",
|
| 263 |
"response": "```javascript\nfunction deepClone(obj, visited = new WeakMap()) {\n if (obj === null || typeof obj !== 'object') return obj;\n if (visited.has(obj)) return visited.get(obj);\n const clone = Array.isArray(obj) ? [] : {};\n visited.set(obj, clone);\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n clone[key] = deepClone(obj[key], visited);\n }\n }\n return clone;\n}\n```"},
|
| 264 |
+
|
| 265 |
{"prompt": "JavaScript: Promise.all with timeout",
|
| 266 |
"response": "```javascript\nfunction promiseAllWithTimeout(promises, timeout) {\n return Promise.all(\n promises.map(p =>\n Promise.race([\n p,\n new Promise((_, reject) => \n setTimeout(() => reject(new Error('Timeout')), timeout)\n )\n ])\n )\n );\n}\n```"},
|
| 267 |
+
|
| 268 |
{"prompt": "JavaScript: Event Emitter implementation",
|
| 269 |
"response": "```javascript\nclass EventEmitter {\n constructor() { this.events = {}; }\n on(event, fn) {\n if (!this.events[event]) this.events[event] = [];\n this.events[event].push(fn);\n }\n emit(event, ...args) {\n if (this.events[event]) \n this.events[event].forEach(fn => fn(...args));\n }\n off(event, fn) {\n if (this.events[event]) \n this.events[event] = this.events[event].filter(f => f !== fn);\n }\n}\n```"},
|
| 270 |
+
|
| 271 |
{"prompt": "JavaScript: Currying function",
|
| 272 |
"response": "```javascript\nfunction curry(fn) {\n return function curried(...args) {\n if (args.length >= fn.length) {\n return fn.apply(this, args);\n }\n return function(...args2) {\n return curried.apply(this, args.concat(args2));\n };\n };\n}\nconst add = curry((a, b, c) => a + b + c);\nadd(1)(2)(3); // 6\n```"},
|
| 273 |
]
|
| 274 |
problems.extend(js_problems)
|
| 275 |
+
|
| 276 |
# ==================== JAVA ====================
|
| 277 |
java_problems = [
|
| 278 |
{"prompt": "Java: Thread-safe Singleton (Double-checked locking)",
|
| 279 |
"response": "```java\npublic class Singleton {\n private static volatile Singleton instance;\n private Singleton() {}\n public static Singleton getInstance() {\n if (instance == null) {\n synchronized (Singleton.class) {\n if (instance == null) {\n instance = new Singleton();\n }\n }\n }\n return instance;\n }\n}\n```"},
|
| 280 |
+
|
| 281 |
{"prompt": "Java: Producer-Consumer with wait/notify",
|
| 282 |
"response": "```java\npublic class ProducerConsumer {\n private Queue<Integer> buffer = new LinkedList<>();\n private int MAX_SIZE = 10;\n \n public synchronized void produce(int value) throws InterruptedException {\n while (buffer.size() >= MAX_SIZE) wait();\n buffer.add(value);\n notifyAll();\n }\n \n public synchronized int consume() throws InterruptedException {\n while (buffer.isEmpty()) wait();\n notifyAll();\n return buffer.poll();\n }\n}\n```"},
|
| 283 |
+
|
| 284 |
{"prompt": "Java: Builder Pattern for User class",
|
| 285 |
"response": "```java\npublic class User {\n private String name, email;\n private int age;\n \n private User(Builder b) {\n this.name = b.name; this.email = b.email; this.age = b.age;\n }\n \n public static class Builder {\n private String name, email;\n private int age = 0;\n public Builder name(String name) { this.name = name; return this; }\n public Builder email(String email) { this.email = email; return this; }\n public Builder age(int age) { this.age = age; return this; }\n public User build() { return new User(this); }\n }\n}\n// Usage: User u = new User.Builder().name(\"John\").age(25).build();\n```"},
|
| 286 |
+
|
| 287 |
{"prompt": "Java: Generic Stack implementation",
|
| 288 |
"response": "```java\npublic class Stack<T> {\n private Object[] arr;\n private int top = -1, capacity;\n \n public Stack(int capacity) {\n this.capacity = capacity;\n arr = new Object[capacity];\n }\n \n public void push(T item) {\n if (top == capacity - 1) throw new StackOverflowError();\n arr[++top] = item;\n }\n \n @SuppressWarnings(\"unchecked\")\n public T pop() {\n if (top == -1) throw new EmptyStackException();\n return (T) arr[top--];\n }\n \n public T peek() {\n if (top == -1) throw new EmptyStackException();\n return (T) arr[top];\n }\n}\n```"},
|
| 289 |
+
|
| 290 |
{"prompt": "Java: Observer Pattern",
|
| 291 |
"response": "```java\ninterface Observer { void update(String msg); }\nclass Subject {\n private List<Observer> observers = new ArrayList<>();\n public void attach(Observer o) { observers.add(o); }\n public void detach(Observer o) { observers.remove(o); }\n public void notifyAll(String msg) {\n observers.forEach(o -> o.update(msg));\n }\n}\n```"},
|
| 292 |
]
|
| 293 |
problems.extend(java_problems)
|
| 294 |
+
|
| 295 |
# ==================== ALGORITHMS & CONCEPTS ====================
|
| 296 |
concept_problems = [
|
| 297 |
{"prompt": "Explain Big O, Big Omega, Big Theta notation",
|
| 298 |
"response": "Big O: Upper bound (worst case)\nBig Omega: Lower bound (best case)\nBig Theta: Tight bound (average)\n\nExamples:\n- O(1): Array access\n- O(log n): Binary search\n- O(n): Linear search\n- O(n log n): Merge sort\n- O(n^2): Bubble sort\n- O(2^n): Recursive Fibonacci\n- O(n!): Permutations"},
|
| 299 |
+
|
| 300 |
{"prompt": "Explain and implement QuickSort",
|
| 301 |
"response": "```python\ndef quicksort(arr):\n if len(arr) <= 1: return arr\n pivot = arr[len(arr)//2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quicksort(left) + middle + quicksort(right)\n```\nAverage: O(n log n), Worst: O(n^2)\nSpace: O(n)"},
|
| 302 |
+
|
| 303 |
{"prompt": "Explain and implement MergeSort",
|
| 304 |
"response": "```python\ndef mergesort(arr):\n if len(arr) <= 1: return arr\n mid = len(arr)//2\n left = mergesort(arr[:mid])\n right = mergesort(arr[mid:])\n return merge(left, right)\n\ndef merge(l, r):\n result = []\n while l and r:\n result.append(l.pop(0) if l[0] <= r[0] else r.pop(0))\n result.extend(l or r)\n return result\n```\nTime: O(n log n), Space: O(n)\nStable sort"},
|
| 305 |
+
|
| 306 |
{"prompt": "Explain Hash Table collision resolution",
|
| 307 |
"response": "1. Chaining: Store collisions in linked list\n - Time: O(1) avg, O(n) worst\n2. Open Addressing: Find next empty slot\n - Linear probing: h(k) + i\n - Quadratic probing: h(k) + i^2\n - Double hashing: h1(k) + i*h2(k)\n\nLoad factor = n/m should be < 0.7"},
|
| 308 |
+
|
| 309 |
{"prompt": "Explain BFS vs DFS",
|
| 310 |
"response": "BFS (Breadth-First Search):\n- Uses Queue\n- Level by level traversal\n- Finds shortest path in unweighted\n- More memory\n- Good for shortest path\n\nDFS (Depth-First Search):\n- Uses Stack (or recursion)\n- Goes deep first\n- Lower memory for deep graphs\n- Good for path finding, cycles"},
|
| 311 |
+
|
| 312 |
{"prompt": "Explain Dijkstra's algorithm",
|
| 313 |
"response": "```python\nimport heapq\ndef dijkstra(graph, start):\n dist = {v: float('inf') for v in graph}\n dist[start] = 0\n pq = [(0, start)]\n while pq:\n d, u = heapq.heappop(pq)\n if d > dist[u]: continue\n for v, w in graph.get(u, []):\n if dist[u] + w < dist[v]:\n dist[v] = dist[u] + w\n heapq.heappush(pq, (dist[v], v))\n return dist\n```\nTime: O((V+E) log V)\nSpace: O(V)\nGreedy, doesn't work with negative weights"},
|
| 314 |
+
|
| 315 |
{"prompt": "Explain Union-Find (Disjoint Set)",
|
| 316 |
"response": "```python\nclass UnionFind:\n def __init__(self, n):\n self.parent = list(range(n))\n self.rank = [0] * n\n \n def find(self, x):\n if self.parent[x] != x:\n self.parent[x] = self.find(self.parent[x])\n return self.parent[x]\n \n def union(self, x, y):\n px, py = self.find(x), self.find(y)\n if px == py: return\n if self.rank[px] < self.rank[py]: px, py = py, px\n self.parent[py] = px\n if self.rank[px] == self.rank[py]: self.rank[px] += 1\n```\nTime: O(alpha(n)) - almost constant"},
|
| 317 |
]
|
| 318 |
problems.extend(concept_problems)
|
| 319 |
+
|
| 320 |
print(f"Generated {len(problems)} comprehensive problems")
|
| 321 |
return problems
|
| 322 |
|
|
|
|
| 324 |
print("=" * 60)
|
| 325 |
print("BUILDING COMPREHENSIVE DATASET")
|
| 326 |
print("=" * 60)
|
| 327 |
+
|
| 328 |
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
| 329 |
+
|
| 330 |
all_data = []
|
| 331 |
+
|
| 332 |
# 1. Generate comprehensive problems
|
| 333 |
print("\n[1/3] Generating algorithmic problems...")
|
| 334 |
problems = generate_comprehensive_problems()
|
| 335 |
all_data.extend(problems)
|
| 336 |
print(f" Total: {len(all_data)}")
|
| 337 |
+
|
| 338 |
# 2. Try HuggingFace datasets
|
| 339 |
print("\n[2/3] Loading HuggingFace datasets...")
|
| 340 |
hf_data = load_huggingface_datasets()
|
| 341 |
all_data.extend(hf_data)
|
| 342 |
print(f" Total: {len(all_data)}")
|
| 343 |
+
|
| 344 |
# 3. Add more diverse problems
|
| 345 |
print("\n[3/3] Adding additional problems...")
|
| 346 |
+
|
| 347 |
additional = [
|
| 348 |
+
{"prompt": "Python: Read file and count word frequencies",
|
| 349 |
"response": "```python\nfrom collections import Counter\nwith open('file.txt') as f:\n words = f.read().split()\nprint(Counter(words).most_common(10))\n```"},
|
| 350 |
+
|
| 351 |
{"prompt": "Python: Async HTTP request with aiohttp",
|
| 352 |
"response": "```python\nimport aiohttp, asyncio\nasync def fetch(url):\n async with aiohttp.ClientSession() as session:\n async with session.get(url) as resp:\n return await resp.text()\nasyncio.run(fetch('https://example.com'))\n```"},
|
| 353 |
+
|
| 354 |
{"prompt": "Python: Context manager for timing",
|
| 355 |
"response": "```python\nimport time\nclass Timer:\n def __enter__(self): self.start = time.time()\n def __exit__(self, *args): print(time.time()-self.start)\nwith Timer():\n # code to time\n sum(range(1000000))\n```"},
|
| 356 |
+
|
| 357 |
{"prompt": "Python: Decorator for retry logic",
|
| 358 |
"response": "```python\nimport time, functools\ndef retry(max_attempts=3, delay=1):\n def decorator(func):\n @functools.wraps(func)\n def wrapper(*args, **kwargs):\n for _ in range(max_attempts):\n try: return func(*args, **kwargs)\n except Exception as e:\n if _ == max_attempts-1: raise\n time.sleep(delay)\n return wrapper\n return decorator\n\n@retry(max_attempts=3)\ndef call_api(): pass\n```"},
|
| 359 |
+
|
| 360 |
{"prompt": "Python: Generate random password",
|
| 361 |
"response": "```python\nimport string, random\ndef generate_password(length=16):\n chars = string.ascii_letters + string.digits + string.punctuation\n return ''.join(random.choice(chars) for _ in range(length))\n```"},
|
| 362 |
+
|
| 363 |
{"prompt": "Python: Flask REST API endpoint",
|
| 364 |
"response": "```python\nfrom flask import Flask, request, jsonify\napp = Flask(__name__)\n\n@app.route('/api/users/<int:user_id>', methods=['GET'])\ndef get_user(user_id):\n return jsonify({'id': user_id, 'name': 'John'})\n\n@app.route('/api/users', methods=['POST'])\ndef create_user():\n data = request.json\n return jsonify({'id': 1, **data}), 201\n```"},
|
| 365 |
+
|
| 366 |
{"prompt": "Python: SQLAlchemy model definition",
|
| 367 |
"response": "```python\nfrom sqlalchemy import Column, Integer, String, ForeignKey\nfrom sqlalchemy.orm import relationship, declarative_base\nBase = declarative_base()\n\nclass User(Base):\n __tablename__ = 'users'\n id = Column(Integer, primary_key=True)\n name = Column(String(100), nullable=False)\n email = Column(String(100), unique=True)\n posts = relationship('Post', back_populates='author')\n\nclass Post(Base):\n __tablename__ = 'posts'\n id = Column(Integer, primary_key=True)\n title = Column(String(200))\n user_id = Column(Integer, ForeignKey('users.id'))\n author = relationship('User', back_populates='posts')\n```"},
|
| 368 |
+
|
| 369 |
{"prompt": "Python: pytest fixture example",
|
| 370 |
"response": "```python\nimport pytest\n\n@pytest.fixture\ndef db_connection():\n conn = create_connection()\n yield conn\n conn.close()\n\ndef test_user_creation(db_connection):\n user = create_user(db_connection, 'John')\n assert user.id is not None\n```"},
|
| 371 |
+
|
| 372 |
{"prompt": "Python: Logging configuration",
|
| 373 |
"response": "```python\nimport logging\nlogging.basicConfig(\n level=logging.INFO,\n format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n handlers=[\n logging.FileHandler('app.log'),\n logging.StreamHandler()\n ]\n)\nlogger = logging.getLogger(__name__)\nlogger.info('Application started')\n```"},
|
| 374 |
+
|
| 375 |
{"prompt": "Python: Thread pool executor",
|
| 376 |
"response": "```python\nfrom concurrent.futures import ThreadPoolExecutor\n\ndef process_item(item):\n # do work\n return result\n\nwith ThreadPoolExecutor(max_workers=4) as executor:\n results = list(executor.map(process_item, items))\n```"},
|
| 377 |
+
|
| 378 |
{"prompt": "Python: Unit test with unittest",
|
| 379 |
"response": "```python\nimport unittest\n\nclass TestMath(unittest.TestCase):\n def test_add(self):\n self.assertEqual(1+1, 2)\n \n def test_divide(self):\n with self.assertRaises(ZeroDivisionError):\n 1/0\n\nif __name__ == '__main__':\n unittest.main()\n```"},
|
| 380 |
+
|
| 381 |
{"prompt": "Python: Data class with validation",
|
| 382 |
"response": "```python\nfrom dataclasses import dataclass, field\nfrom typing import List\n\n@dataclass\nclass User:\n name: str\n email: str\n age: int = 0\n tags: List[str] = field(default_factory=list)\n \n def __post_init__(self):\n if '@' not in self.email:\n raise ValueError('Invalid email')\n```"},
|
| 383 |
+
|
| 384 |
{"prompt": "Python: FastAPI endpoint with Pydantic",
|
| 385 |
"response": "```python\nfrom fastapi import FastAPI, HTTPException\nfrom pydantic import BaseModel, EmailStr\n\napp = FastAPI()\n\nclass UserCreate(BaseModel):\n name: str\n email: EmailStr\n age: int = None\n\n@app.post('/users', response_model=UserCreate)\ndef create_user(user: UserCreate):\n return user\n```"},
|
| 386 |
+
|
| 387 |
{"prompt": "Python: Celery task definition",
|
| 388 |
"response": "```python\nfrom celery import Celery\napp = Celery('tasks')\n\n@app.task\ndef process_data(data):\n # expensive computation\n result = heavy_computation(data)\n return result\n\n# Call asynchronously\nresult = process_data.delay(data)\nprint(result.get(timeout=10))\n```"},
|
| 389 |
+
|
| 390 |
{"prompt": "Python: Generator for large file processing",
|
| 391 |
"response": "```python\ndef process_large_file(filepath):\n with open(filepath) as f:\n for line in f:\n yield process_line(line)\n\nfor result in process_large_file('huge.txt'):\n save_to_db(result)\n```\nMemory efficient for large files"},
|
| 392 |
+
|
| 393 |
{"prompt": "Python: Memoization decorator",
|
| 394 |
"response": "```python\nfrom functools import lru_cache\n\n@lru_cache(maxsize=128)\ndef fib(n):\n if n < 2: return n\n return fib(n-1) + fib(n-2)\n\n# Or custom:\ndef memoize(func):\n cache = {}\n def wrapper(*args):\n if args not in cache:\n cache[args] = func(*args)\n return cache[args]\n return wrapper\n```"},
|
| 395 |
+
|
| 396 |
{"prompt": "Python: Property-based testing with hypothesis",
|
| 397 |
"response": "```python\nfrom hypothesis import given, strategies as st\n\n@given(st.lists(st.integers(min_value=1)))\ndef test_sorting(lst):\n result = sorted(lst)\n assert len(result) == len(lst)\n assert all(result[i] <= result[i+1] for i in range(len(result)-1))\n```"},
|
| 398 |
+
|
| 399 |
{"prompt": "Python: NamedTuple for immutable data",
|
| 400 |
"response": "```python\nfrom collections import namedtuple\n\nPoint = namedtuple('Point', ['x', 'y'])\np = Point(1, 2)\nprint(p.x, p.y) # 1 2\nprint(p._fields) # ('x', 'y')\n```"},
|
| 401 |
+
|
| 402 |
{"prompt": "Python: Enum for constants",
|
| 403 |
"response": "```python\nfrom enum import Enum, auto\n\nclass Status(Enum):\n PENDING = auto()\n PROCESSING = auto()\n COMPLETED = auto()\n FAILED = auto()\n\nprint(Status.PENDING.name) # PENDING\nprint(Status.PENDING.value) # 1\n```"},
|
| 404 |
+
|
| 405 |
{"prompt": "Python: ABC abstract base class",
|
| 406 |
"response": "```python\nfrom abc import ABC, abstractmethod\n\nclass Shape(ABC):\n @abstractmethod\n def area(self): pass\n \n def describe(self):\n return f'Area: {self.area()}'\n\nclass Circle(Shape):\n def __init__(self, r): self.r = r\n def area(self): return 3.14 * self.r ** 2\n```"},
|
| 407 |
+
|
| 408 |
{"prompt": "Python: HTTP server with http.server",
|
| 409 |
"response": "```python\nfrom http.server import HTTPServer, BaseHTTPRequestHandler\nimport json\n\nclass Handler(BaseHTTPRequestHandler):\n def do_GET(self):\n self.send_response(200)\n self.send_header('Content-Type', 'application/json')\n self.end_headers()\n self.wfile.write(json.dumps({'message': 'OK'}).encode())\n\nHTTPServer(('localhost', 8000), Handler).serve_forever()\n```"},
|
| 410 |
+
|
| 411 |
{"prompt": "Python: SQLite connection and queries",
|
| 412 |
"response": "```python\nimport sqlite3\n\nconn = sqlite3.connect('database.db')\ncursor = conn.cursor()\n\ncursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)''')\ncursor.execute('INSERT INTO users (name) VALUES (?)', ('John',))\nconn.commit()\n\nfor row in cursor.execute('SELECT * FROM users'):\n print(row)\n\nconn.close()\n```"},
|
| 413 |
+
|
| 414 |
{"prompt": "Python: XML parsing with ElementTree",
|
| 415 |
"response": "```python\nimport xml.etree.ElementTree as ET\n\ntree = ET.parse('data.xml')\nroot = tree.getroot()\n\nfor child in root.findall('.//item'):\n print(child.get('id'), child.text)\n\n# Or create:\nroot = ET.Element('root')\nchild = ET.SubElement(root, 'item', id='1')\nchild.text = 'value'\nET.dump(root)\n```"},
|
| 416 |
+
|
| 417 |
{"prompt": "Python: JSON handling",
|
| 418 |
"response": "```python\nimport json\n\n# Load\nwith open('data.json') as f:\n data = json.load(f)\n\n# Parse string\nobj = json.loads('{\"key\": \"value\"}')\n\n# Save\nwith open('out.json', 'w') as f:\n json.dump(data, f, indent=2)\n\n# Custom encoder\nclass CustomEncoder(json.JSONEncoder):\n def default(self, obj):\n if isinstance(obj, datetime):\n return obj.isoformat()\n```"},
|
| 419 |
+
|
| 420 |
{"prompt": "Python: dataclasses.asdict()",
|
| 421 |
"response": "```python\nfrom dataclasses import dataclass, asdict\n\n@dataclass\nclass Config:\n host: str = 'localhost'\n port: int = 8080\n debug: bool = False\n\nconfig = Config()\ndict_config = asdict(config)\nprint(dict_config) # {'host': 'localhost', 'port': 8080, 'debug': False}\n```"},
|
| 422 |
+
|
| 423 |
{"prompt": "Python: Enum with methods",
|
| 424 |
"response": "```python\nfrom enum import Enum\n\nclass Color(Enum):\n RED = 1\n GREEN = 2\n BLUE = 3\n \n def is_primary(self):\n return self in (Color.RED, Color.GREEN, Color.BLUE)\n\nprint(Color.RED.is_primary()) # True\n```"},
|
| 425 |
+
|
| 426 |
{"prompt": "Python: argparse CLI",
|
| 427 |
"response": "```python\nimport argparse\n\nparser = argparse.ArgumentParser(description='My tool')\nparser.add_argument('-n', '--name', required=True, help='Your name')\nparser.add_argument('-v', '--verbose', action='store_true')\nparser.add_argument('-c', '--count', type=int, default=1)\n\nargs = parser.parse_args()\nprint(f'Hello {args.name}' * args.count)\n```\nRun: python script.py -n John -v -c 3"},
|
| 428 |
+
|
| 429 |
{"prompt": "Python: Simple CLI with click",
|
| 430 |
"response": "```python\nimport click\n\n@click.command()\n@click.option('--name', default='World', help='Name to greet')\n@click.argument('count', default=1, type=int)\ndef hello(name, count):\n for _ in range(count):\n click.echo(f'Hello {name}!')\n\nif __name__ == '__main__':\n hello()\n```\nRun: python script.py John --count 3"},
|
| 431 |
]
|
| 432 |
+
|
| 433 |
all_data.extend(additional)
|
| 434 |
+
|
| 435 |
print(f"\n[TOTAL] {len(all_data)} samples")
|
| 436 |
+
|
| 437 |
# Save
|
| 438 |
with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
|
| 439 |
json.dump(all_data, f, indent=2, ensure_ascii=False)
|
| 440 |
+
|
| 441 |
print(f"\nSaved to: {OUTPUT_FILE}")
|
| 442 |
print(f"File size: {OUTPUT_FILE.stat().st_size / 1024:.1f} KB")
|
| 443 |
+
|
| 444 |
return len(all_data)
|
| 445 |
|
| 446 |
if __name__ == "__main__":
|