From 9a2b80949b4be3ead46ebd501535f51771b797f3 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Sat, 5 Sep 2026 13:37:42 -0400 Subject: [PATCH] docs(docs): add 271 Encode/Decode Strings and 98 Validate BST pages --- .../(array)/217-contains-duplicate.mdx | 11 ++++- .../(array)/271-encode-and-decode-strings.mdx | 48 +++++++++++++++++++ .../(tree)/98-validate-binary-search-tree.mdx | 46 ++++++++++++++++++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 apps/docs/content/(array)/271-encode-and-decode-strings.mdx create mode 100644 apps/docs/content/(tree)/98-validate-binary-search-tree.mdx diff --git a/apps/docs/content/(array)/217-contains-duplicate.mdx b/apps/docs/content/(array)/217-contains-duplicate.mdx index ea8ff7e..2dd53ac 100644 --- a/apps/docs/content/(array)/217-contains-duplicate.mdx +++ b/apps/docs/content/(array)/217-contains-duplicate.mdx @@ -42,7 +42,14 @@ flowchart TD ## Solution -```js + + +```py Python +class Solution: + def containsDuplicate(self, nums: List[int]) -> bool: +``` + +```js JavaScript /** * @param {number[]} nums * @return {boolean} @@ -59,6 +66,8 @@ var containsDuplicate = function(nums) { }; ``` + + ## Explanation diff --git a/apps/docs/content/(array)/271-encode-and-decode-strings.mdx b/apps/docs/content/(array)/271-encode-and-decode-strings.mdx new file mode 100644 index 0000000..eddaf65 --- /dev/null +++ b/apps/docs/content/(array)/271-encode-and-decode-strings.mdx @@ -0,0 +1,48 @@ +--- +title: '271. Encode and Decode Strings' +description: Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings +sidebar: + label: 'Encode and Decode Strings' + badge: 'Medium' +--- + +Array + +::::warning +Could you write a generalized algorithm to work on any possible set of characters? +:::: + +### Example 1: +- Input: `dummy_input = ["Hello","World"]` +- Output: `["Hello","World"]` +- Explanation: Machine `1`: Codec encoder = new Codec(); String msg = encoder.encode(strs); Machine `1` ---msg---> Machine `2` Machine `2`: Codec decoder = new Codec(); `String[] strs` = decoder.decode(msg); + +### Example 2: +- Input: `dummy_input = [""]` +- Output: `[""]` + +### Constraints: + +- `1 <= strs.length <= 200` +- `0 <= strs[i].length <= 200` +- `strs[i]` contains any possible characters out of 256 valid ASCII characters. + +## Solution + +```py +class Codec: + def encode(self, strs: List[str]) -> str: + """Encodes a list of strings to a single string. + """ + + + def decode(self, s: str) -> List[str]: + """Decodes a single string to a list of strings. + """ + + + +# Your Codec object will be instantiated and called as such: +# codec = Codec() +# codec.decode(codec.encode(strs)) +``` diff --git a/apps/docs/content/(tree)/98-validate-binary-search-tree.mdx b/apps/docs/content/(tree)/98-validate-binary-search-tree.mdx new file mode 100644 index 0000000..24fb03b --- /dev/null +++ b/apps/docs/content/(tree)/98-validate-binary-search-tree.mdx @@ -0,0 +1,46 @@ +--- +title: '98. Validate Binary Search Tree' +description: Given the root of a binary tree, determine if it is a valid binary search tree (BST) +sidebar: + label: 'Validate Binary Search Tree' + badge: 'Medium' +--- + +Binary Search Tree + +### Example 1: +- Input: `root = [2,1,3]` +- Output: `true` + +### Example 2: +- Input: `root = [5,1,4,null,null,3,6]` +- Output: `false` +- Explanation: The `root` node's value is `5` but its right child's value is `4`. + +### Constraints: + +- The number of nodes in the tree is in the range [1, 10^4]. +- `-2^31 <= Node.val <= 2^31 - 1` + +## Solution + +```py +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def isValidBST(self, root: Optional[TreeNode]) -> bool: + def valid(node, low, high): + if not node: + return True + + if not (low < node.val < high): + return False + + return valid(node.left, low, node.val) and valid(node.right, node.val, high) + + return valid(root, float("-inf"), float("inf")) +```