MCPcopy Create free account
hub / github.com/The-CodingSloth/haha-funny-leetcode-extension / getAllLeetCodeProblems

Function getAllLeetCodeProblems

leetcodeProblems.ts:6–35  ·  view source on GitHub ↗
(
  difficulty: string,
  problemSet: string
)

Source from the content-addressed store, hash-verified

4import { getProblemListFromLeetCodeAPI } from "~background"
5
6export async function getAllLeetCodeProblems(
7 difficulty: string,
8 problemSet: string
9) {
10 try {
11 // Remove lg- or all from string for better logic processing
12 const leetCodeProblems: APILeetCodeProblem[] =
13 await getProblemListFromLeetCodeAPI(
14 difficulty,
15 problemSet?.slice(3) || ""
16 )
17 let randomIndex = Math.floor(Math.random() * leetCodeProblems.length)
18 while (leetCodeProblems[randomIndex].paidOnly) {
19 randomIndex++
20 randomIndex =
21 (leetCodeProblems.length + randomIndex) % leetCodeProblems.length
22 }
23 const randomProblem = leetCodeProblems[randomIndex]
24 // Replace anything that is not a string or whitespace with "" then replace empty spaces with "-"
25 //Error with some problems with special characters TODO: Fix this ex: nondrecreasing subequence -> non-decreasing-subsequence
26 const randomProblemURL =
27 "https://leetcode.com/problems/" + randomProblem.titleSlug + "/"
28 const randomProblemName = randomProblem.title
29 // await storage.set("loading", false)
30 await storage.stopLoading()
31 return { url: randomProblemURL, name: randomProblemName }
32 } catch (error) {
33 console.error(error)
34 }
35}
36
37export async function getLeetCodeProblemFromProblemSet(
38 difficulty: string,

Callers 1

Calls 1

Tested by

no test coverage detected