diff --git a/dsa-solutions/gfg-solutions/Easy problems/square-root.md b/dsa-solutions/gfg-solutions/Easy problems/square-root.md
index c249e2811..47f866b73 100644
--- a/dsa-solutions/gfg-solutions/Easy problems/square-root.md
+++ b/dsa-solutions/gfg-solutions/Easy problems/square-root.md
@@ -1,193 +1,194 @@
----
-id: square-root
-title: Square Root
-sidebar_label: Square-Root
-tags:
- - Math
- - Binary Search
-description: "This document provides solutions to the problem of finding the Square Root of an integer."
----
-
-## Problem
-
-Given an integer `x`, find the square root of `x`. If `x` is not a perfect square, then return the floor value of √x.
-
-### Examples
-
-**Example 1:**
-
-```
-Input: x = 5
-Output: 2
-Explanation: Since 5 is not a perfect square, the floor of the square root of 5 is 2.
-```
-
-**Example 2:**
-
-```
-Input: x = 4
-Output: 2
-Explanation: Since 4 is a perfect square, its square root is 2.
-```
-
-### Your Task
-
-You don't need to read input or print anything. The task is to complete the function `floorSqrt()` which takes `x` as the input parameter and returns its square root. Note: Try solving the question without using the sqrt function. The value of `x` ≥ 0.
-
-**Expected Time Complexity:** $O(log N)$
-**Expected Auxiliary Space:** $O(1)$
-
-**Constraints**
-
-- `1 ≤ x ≤ 10^7`
-
-## Solution
-
-### Intuition & Approach
-
-To find the square root of a number without using the built-in `sqrt` function, we can use binary search. This approach leverages the fact that the square root of `x` must lie between `0` and `x`. By repeatedly narrowing down the range using binary search, we can efficiently find the floor value of the square root.
-
-### Implementation
-
-
-
-
-```python
-class Solution:
- def floorSqrt(self, x: int) -> int:
- if x == 0 or x == 1:
- return x
- start, end = 1, x
- ans = 0
- while start <= end:
- mid = (start + end) // 2
- if mid * mid == x:
- return mid
- if mid * mid < x:
- start = mid + 1
- ans = mid
- else:
- end = mid - 1
- return ans
-```
-
-
-
-
-```java
-class Solution {
- long floorSqrt(long x) {
- if (x == 0 || x == 1) {
- return x;
- }
- long start = 1, end = x, ans = 0;
- while (start <= end) {
- long mid = (start + end) / 2;
- if (mid * mid == x) {
- return mid;
- }
- if (mid * mid < x) {
- start = mid + 1;
- ans = mid;
- } else {
- end = mid - 1;
- }
- }
- return ans;
- }
-}
-```
-
-
-
-
-```cpp
-class Solution {
-public:
- long long int floorSqrt(long long int x) {
- if (x == 0 || x == 1)
- return x;
- long long int start = 1, end = x, ans = 0;
- while (start <= end) {
- long long int mid = (start + end) / 2;
- if (mid * mid == x)
- return mid;
- if (mid * mid < x) {
- start = mid + 1;
- ans = mid;
- } else {
- end = mid - 1;
- }
- }
- return ans;
- }
-};
-```
-
-
-
-
-```javascript
-class Solution {
- floorSqrt(x) {
- if (x === 0 || x === 1) {
- return x;
- }
- let start = 1,
- end = x,
- ans = 0;
- while (start <= end) {
- let mid = Math.floor((start + end) / 2);
- if (mid * mid === x) {
- return mid;
- }
- if (mid * mid < x) {
- start = mid + 1;
- ans = mid;
- } else {
- end = mid - 1;
- }
- }
- return ans;
- }
-}
-```
-
-
-
-
-```typescript
-class Solution {
- floorSqrt(x: number): number {
- if (x === 0 || x === 1) {
- return x;
- }
- let start = 1,
- end = x,
- ans = 0;
- while (start <= end) {
- let mid = Math.floor((start + end) / 2);
- if (mid * mid === x) {
- return mid;
- }
- if (mid * mid < x) {
- start = mid + 1;
- ans = mid;
- } else {
- end = mid - 1;
- }
- }
- return ans;
- }
-}
-```
-
-
-
-
-## Complexity Analysis
-
-The provided solutions efficiently find the floor value of the square root of a given integer `x` using binary search. This approach ensures a time complexity of $ O(log N) and an auxiliary space complexity of $O(1)$. The algorithms are designed to handle large values of `x` up to 10^7 efficiently without relying on built-in square root functions.
-
-**Time Complexity:** $O(log N)$
-**Auxiliary Space:** $O(1)$
+---
+---
+id: square-root
+title: Square Root
+sidebar_label: Square-Root
+tags:
+ - Math
+ - Binary Search
+description: "This document provides solutions to the problem of finding the Square Root of an integer."
+---
+
+## Problem
+
+Given an integer `x`, find the square root of `x`. If `x` is not a perfect square, then return the floor value of √x.
+
+### Examples
+
+**Example 1:**
+
+```
+Input: x = 5
+Output: 2
+Explanation: Since 5 is not a perfect square, the floor of the square root of 5 is 2.
+```
+
+**Example 2:**
+
+```
+Input: x = 4
+Output: 2
+Explanation: Since 4 is a perfect square, its square root is 2.
+```
+
+### Your Task
+
+You don't need to read input or print anything. The task is to complete the function `floorSqrt()` which takes `x` as the input parameter and returns its square root. Note: Try solving the question without using the sqrt function. The value of `x` ≥ 0.
+
+**Expected Time Complexity:** $O(log N)$
+**Expected Auxiliary Space:** $O(1)$
+
+**Constraints**
+
+- `1 ≤ x ≤ 10^7`
+
+## Solution
+
+### Intuition & Approach
+
+To find the square root of a number without using the built-in `sqrt` function, we can use binary search. This approach leverages the fact that the square root of `x` must lie between `0` and `x`. By repeatedly narrowing down the range using binary search, we can efficiently find the floor value of the square root.
+
+### Implementation
+
+
+
+
+```python
+class Solution:
+ def floorSqrt(self, x: int) -> int:
+ if x == 0 or x == 1:
+ return x
+ start, end = 1, x
+ ans = 0
+ while start <= end:
+ mid = (start + end) // 2
+ if mid * mid == x:
+ return mid
+ if mid * mid < x:
+ start = mid + 1
+ ans = mid
+ else:
+ end = mid - 1
+ return ans
+```
+
+
+
+
+```java
+class Solution {
+ long floorSqrt(long x) {
+ if (x == 0 || x == 1) {
+ return x;
+ }
+ long start = 1, end = x, ans = 0;
+ while (start <= end) {
+ long mid = (start + end) / 2;
+ if (mid * mid == x) {
+ return mid;
+ }
+ if (mid * mid < x) {
+ start = mid + 1;
+ ans = mid;
+ } else {
+ end = mid - 1;
+ }
+ }
+ return ans;
+ }
+}
+```
+
+
+
+
+```cpp
+class Solution {
+public:
+ long long int floorSqrt(long long int x) {
+ if (x == 0 || x == 1)
+ return x;
+ long long int start = 1, end = x, ans = 0;
+ while (start <= end) {
+ long long int mid = (start + end) / 2;
+ if (mid * mid == x)
+ return mid;
+ if (mid * mid < x) {
+ start = mid + 1;
+ ans = mid;
+ } else {
+ end = mid - 1;
+ }
+ }
+ return ans;
+ }
+};
+```
+
+
+
+
+```javascript
+class Solution {
+ floorSqrt(x) {
+ if (x === 0 || x === 1) {
+ return x;
+ }
+ let start = 1,
+ end = x,
+ ans = 0;
+ while (start <= end) {
+ let mid = Math.floor((start + end) / 2);
+ if (mid * mid === x) {
+ return mid;
+ }
+ if (mid * mid < x) {
+ start = mid + 1;
+ ans = mid;
+ } else {
+ end = mid - 1;
+ }
+ }
+ return ans;
+ }
+}
+```
+
+
+
+
+```typescript
+class Solution {
+ floorSqrt(x: number): number {
+ if (x === 0 || x === 1) {
+ return x;
+ }
+ let start = 1,
+ end = x,
+ ans = 0;
+ while (start <= end) {
+ let mid = Math.floor((start + end) / 2);
+ if (mid * mid === x) {
+ return mid;
+ }
+ if (mid * mid < x) {
+ start = mid + 1;
+ ans = mid;
+ } else {
+ end = mid - 1;
+ }
+ }
+ return ans;
+ }
+}
+```
+
+
+
+
+## Complexity Analysis
+
+The provided solutions efficiently find the floor value of the square root of a given integer `x` using binary search. This approach ensures a time complexity of $ O(log N) and an auxiliary space complexity of $O(1)$. The algorithms are designed to handle large values of `x` up to 10^7 efficiently without relying on built-in square root functions.
+
+**Time Complexity:** $O(log N)$
+**Auxiliary Space:** $O(1)$
\ No newline at end of file
diff --git a/dsa-solutions/lc-solutions/0100-0199/0138-copy-list-with-random-pointer.md b/dsa-solutions/lc-solutions/0100-0199/0138-copy-list-with-random-pointer.md
index af38b51f5..39b957a96 100644
--- a/dsa-solutions/lc-solutions/0100-0199/0138-copy-list-with-random-pointer.md
+++ b/dsa-solutions/lc-solutions/0100-0199/0138-copy-list-with-random-pointer.md
@@ -6,8 +6,7 @@ tags:
- Java
- Python
- C++
- - JavaScript
-
+ - JavaScript
description: "This is a solution to the Copy List with Random Pointer problem on LeetCode."
---
@@ -37,13 +36,16 @@ Output: [[7,null],[13,0],[11,4],[10,2],[1,0]]
```
Input: head = [[1,1],[2,1]]
Output: [[1,1],[2,1]]
-
```
----
+### Constraints:
-## Solution for Copy List with Random Pointer
+- The number of nodes in the list is in the range [0, 1000].
+- `-10000 <= Node.val <= 10000`
+- Node.random is null or is pointing to some node in the linked list.
+---
+## Approach to Solve the Copy List with Random Pointer Problem
### Understand the Problem:
diff --git a/dsa-solutions/lc-solutions/1100-1199/1100-find-k-length-substrings-with-no-repeated-characters.md b/dsa-solutions/lc-solutions/1100-1199/1100-find-k-length-substrings-with-no-repeated-characters.md
new file mode 100644
index 000000000..e69de29bb