feat(1019-squares-of-a-sorted-array): add py3 solution
This commit is contained in:
parent
2b889c6f89
commit
eb41db0efa
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env zx
|
#!/usr/bin/env zx
|
||||||
|
|
||||||
import Turndown from "turndown";
|
import Turndown from "turndown";
|
||||||
|
import * as cheerio from "cheerio";
|
||||||
import { client, gql } from "./graphql.mjs";
|
import { client, gql } from "./graphql.mjs";
|
||||||
|
|
||||||
const langExt = { python3: "py", nodejs: "js", cpp: "cpp" };
|
const langExt = { python3: "py", nodejs: "js", cpp: "cpp" };
|
||||||
@ -35,14 +36,12 @@ const questionDir = `${questionIdPadded}_${q.titleSlug}`;
|
|||||||
const solutionDir = `${questionDir}/${language}`;
|
const solutionDir = `${questionDir}/${language}`;
|
||||||
const solutionFilePath = `${solutionDir}/solution.${langExt[language]}`;
|
const solutionFilePath = `${solutionDir}/solution.${langExt[language]}`;
|
||||||
|
|
||||||
|
const $ch = cheerio.load(q.content);
|
||||||
|
|
||||||
|
$ch("pre").wrapInner("<code></code>");
|
||||||
|
|
||||||
const td = new Turndown({});
|
const td = new Turndown({});
|
||||||
td.addRule("pre-code", {
|
const mdBody = td.turndown($ch("body").html());
|
||||||
filter: "pre",
|
|
||||||
replacement(content) {
|
|
||||||
return "```\n" + content + "```";
|
|
||||||
},
|
|
||||||
});
|
|
||||||
const mdBody = td.turndown(q.content);
|
|
||||||
|
|
||||||
await $`mkdir -p ${solutionDir}`;
|
await $`mkdir -p ${solutionDir}`;
|
||||||
await $`touch ${solutionFilePath}`;
|
await $`touch ${solutionFilePath}`;
|
||||||
|
23
1019_squares-of-a-sorted-array/README.md
Normal file
23
1019_squares-of-a-sorted-array/README.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Given an integer array `nums` sorted in **non-decreasing** order, return _an array of **the squares of each number** sorted in non-decreasing order_.
|
||||||
|
|
||||||
|
**Example 1:**
|
||||||
|
|
||||||
|
Input: nums = [-4,-1,0,3,10]
|
||||||
|
Output: [0,1,9,16,100]
|
||||||
|
Explanation: After squaring, the array becomes [16,1,0,9,100].
|
||||||
|
After sorting, it becomes [0,1,9,16,100].
|
||||||
|
|
||||||
|
|
||||||
|
**Example 2:**
|
||||||
|
|
||||||
|
Input: nums = [-7,-3,2,3,11]
|
||||||
|
Output: [4,9,9,49,121]
|
||||||
|
|
||||||
|
|
||||||
|
**Constraints:**
|
||||||
|
|
||||||
|
* `1 <= nums.length <= 104`
|
||||||
|
* `-104 <= nums[i] <= 104`
|
||||||
|
* `nums` is sorted in **non-decreasing** order.
|
||||||
|
|
||||||
|
**Follow up:** Squaring each element and sorting the new array is very trivial, could you find an `O(n)` solution using a different approach?
|
17
1019_squares-of-a-sorted-array/python3/solution.py
Normal file
17
1019_squares-of-a-sorted-array/python3/solution.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
class Solution:
|
||||||
|
def sortedSquares(self, nums: List[int]) -> List[int]:
|
||||||
|
left = 0
|
||||||
|
right = i = len(nums) - 1
|
||||||
|
result = [None] * len(nums)
|
||||||
|
|
||||||
|
while i >= 0:
|
||||||
|
if abs(nums[left]) > abs(nums[right]):
|
||||||
|
result[i] = nums[left] ** 2
|
||||||
|
left += 1
|
||||||
|
else:
|
||||||
|
result[i] = nums[right] ** 2
|
||||||
|
right -= 1
|
||||||
|
|
||||||
|
i -= 1
|
||||||
|
|
||||||
|
return result
|
Loading…
Reference in New Issue
Block a user