Skip to content

Commit

Permalink
Adding JS Solutions For Problem No 219, 658 and 1343.
Browse files Browse the repository at this point in the history
  • Loading branch information
baroiSubhra committed Apr 7, 2023
1 parent 96e744c commit e876366
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,15 @@ If you would like to have collaborator permissions on the repo to merge your own
<sub>Problem</sub> | <sub>C</sub> | <sub>C++</sub> | <sub>C#</sub> | <sub>Dart</sub> | <sub>GO</sub> | <sub>Java</sub> | <sub>JS</sub> | <sub>Kotlin</sub> | <sub>Python</sub> | <sub>Ruby</sub> | <sub>Rust</sub> | <sub>Scala</sub> | <sub>Swift</sub> | <sub>TS</sub>
---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ----
<sub>[0121 - Best Time to Buy And Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)</sub> | <sub><div align='center'>[✔️](c%2F0121-best-time-to-buy-and-sell-stock.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0121-best-time-to-buy-and-sell-stock.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0121-best-time-to-buy-and-sell-stock.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0121-best-time-to-buy-and-sell-stock.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0121-best-time-to-buy-and-sell-stock.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0121-best-time-to-buy-and-sell-stock.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0121-best-time-to-buy-and-sell-stock.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0121-best-time-to-buy-and-sell-stock.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0121-best-time-to-buy-and-sell-stock.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0121-best-time-to-buy-and-sell-stock.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0121-best-time-to-buy-and-sell-stock.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0121-best-time-to-buy-and-sell-stock.ts)</div></sub>
<sub>[0219 - Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0219-Contains-Duplicate-II.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>[✔️](kotlin%2F0219-contains-duplicate-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0219-contains-duplicate-ii.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
<sub>[1343 - Number of Sub Arrays of Size K and Avg Greater than or Equal to Threshold](https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
<sub>[0219 - Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0219-Contains-Duplicate-II.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F0219-contains-duplicate-ii.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0219-contains-duplicate-ii.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0219-contains-duplicate-ii.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
<sub>[1343 - Number of Sub Arrays of Size K and Avg Greater than or Equal to Threshold](https://leetcode.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F1343-number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
<sub>[0003 - Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)</sub> | <sub><div align='center'>[✔️](c%2F0003-longest-substring-without-repeating-characters.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0003-longest-substring-without-repeating-characters.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0003-longest-substring-without-repeating-characters.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0003-longest-substring-without-repeating-characters.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0003-longest-substring-without-repeating-characters.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0003-longest-substring-without-repeating-characters.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0003-longest-substring-without-repeating-characters.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0003-longest-substring-without-repeating-characters.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0003-longest-substring-without-repeating-characters.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0003-longest-substring-without-repeating-characters.rs)</div></sub> | <sub><div align='center'>[✔️](scala%2F0003-longest-substring-without-repeating-characters.scala)</div></sub> | <sub><div align='center'>[✔️](swift%2F0003-longest-substring-without-repeating-characters.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0003-longest-substring-without-repeating-characters.ts)</div></sub>
<sub>[0424 - Longest Repeating Character Replacement](https://leetcode.com/problems/longest-repeating-character-replacement/)</sub> | <sub><div align='center'>[✔️](c%2F0424-longest-repeating-character-replacement.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0424-longest-repeating-character-replacement.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0424-longest-repeating-character-replacement.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0424-longest-repeating-character-replacement.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0424-longest-repeating-character-replacement.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0424-longest-repeating-character-replacement.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0424-longest-repeating-character-replacement.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0424-longest-repeating-character-replacement.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0424-longest-repeating-character-replacement.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0424-longest-repeating-character-replacement.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0424-longest-repeating-character-replacement.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0424-longest-repeating-character-replacement.ts)</div></sub>
<sub>[0567 - Permutation In String](https://leetcode.com/problems/permutation-in-string/)</sub> | <sub><div align='center'>[✔️](c%2F0567-permutation-in-string.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0567-permutation-in-string.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0567-permutation-in-string.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0567-permutation-in-string.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0567-permutation-in-string.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0567-permutation-in-string.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0567-permutation-in-string.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0567-permutation-in-string.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0567-permutation-in-string.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0567-permutation-in-string.ts)</div></sub>
<sub>[1838 - Frequency of The Most Frequent Element](https://leetcode.com/problems/frequency-of-the-most-frequent-element/)</sub> | <sub><div align='center'>[✔️](c%2F1838-frequency-of-the-most-frequent-element.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F1838-frequency-of-the-most-frequent-element.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F1838-Frequency-Of-The-Most-Frequent-Element.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F1838-frequency-of-the-most-frequent-element.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F1838-frequency-of-the-most-frequent-element.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F1838-frequency-of-the-most-frequent-element.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F1838-frequency-of-the-most-frequent-element.ts)</div></sub>
<sub>[1888 - Minimum Number of Flips to Make The Binary String Alternating](https://leetcode.com/problems/minimum-number-of-flips-to-make-the-binary-string-alternating/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F1888-minimum-number-of-flips-to-make-the-binary-string-alternating.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F1888-minimum-number-of-flips-to-make-the-binary-string-alternating.ts)</div></sub>
<sub>[0209 - Minimum Size Subarray Sum](https://leetcode.com/problems/minimum-size-subarray-sum/)</sub> | <sub><div align='center'>[✔️](c%2F0209-minimum-size-subarray-sum.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0209-minimum-size-subarray-sum.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0209-minimum-size-subarray-sum.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F0209-minimum-size-subarray-sum.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
<sub>[0658 - Find K Closest Elements](https://leetcode.com/problems/find-k-closest-elements/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'></div></sub> | <sub><div align='center'>[✔️](kotlin%2F0658-find-k-closest-elements.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0658-find-k-closest-elements.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0658-find-k-closest-elements.ts)</div></sub>
<sub>[0658 - Find K Closest Elements](https://leetcode.com/problems/find-k-closest-elements/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F0658-find-k-closest-elements.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0658-find-k-closest-elements.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0658-find-k-closest-elements.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0658-find-k-closest-elements.ts)</div></sub>
<sub>[0076 - Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)</sub> | <sub><div align='center'>[✔️](c%2F0076-minimum-window-substring.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0076-minimum-window-substring.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0076-minimum-window-substring.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0076-minimum-window-substring.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0076-minimum-window-substring.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0076-minimum-window-substring.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0076-minimum-window-substring.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0076-minimum-window-substring.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0076-minimum-window-substring.rb)</div></sub> | <sub><div align='center'>[✔️](rust%2F0076-minimum-window-substring.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0076-minimum-window-substring.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0076-minimum-window-substring.ts)</div></sub>
<sub>[0239 - Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0239-sliding-window-maximum.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0239-sliding-window-maximum.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0239-sliding-window-maximum.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0239-sliding-window-maximum.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0239-sliding-window-maximum.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0239-sliding-window-maximum.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0239-sliding-window-maximum.py)</div></sub> | <sub><div align='center'>[✔️](ruby%2F0239-sliding-window-maximum.rb)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0239-sliding-window-maximum.ts)</div></sub>

Expand Down
29 changes: 29 additions & 0 deletions javascript/0219-contains-duplicate-ii.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* @param {number[]} nums
* @param {number} k
* @return {boolean}
*/
var containsNearbyDuplicate = function (nums, k) {
let leftPtr = 0;
let rightPtr = 0;
let windowHashMap = new Map();
while (rightPtr < nums.length) {
if (windowHashMap.has(nums[rightPtr])) {
return true;
} else {
windowHashMap.set(nums[rightPtr], 1);
}
rightPtr++;
if (rightPtr - leftPtr > k) {
let leftPtrValue = windowHashMap.get(nums[leftPtr]);
leftPtrValue--;
if (leftPtrValue == 0) {
windowHashMap.delete(nums[leftPtr]);
} else {
windowHashMap.set(nums[leftPtr], leftPtrValue);
}
leftPtr++;
}
}
return false;
};
22 changes: 22 additions & 0 deletions javascript/0658-find-k-closest-elements.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* @param {number[]} arr
* @param {number} k
* @param {number} x
* @return {number[]}
*/
var findClosestElements = function (arr, k, x) {
let [leftPtr, rightPtr] = [0, arr.length - k];
while (leftPtr < rightPtr) {
/* This is basically rightPtr+leftPtr/2 written differently to
avoid any overflow incase it happens.
*/
let mid = parseInt(rightPtr + (leftPtr - rightPtr) / 2);

if (x - arr[mid] > arr[mid + k] - x) {
leftPtr = mid + 1;
} else {
rightPtr = mid;
}
}
return arr.slice(leftPtr, leftPtr + k);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @param {number[]} arr
* @param {number} k
* @param {number} threshold
* @return {number}
*/
var numOfSubarrays = function (arr, k, threshold) {
let [leftPtr, rightPtr, result, windowSum] = [0, 0, 0, 0];
while (rightPtr < arr.length) {
windowSum += arr[rightPtr];
if (rightPtr - leftPtr >= k - 1) {
if (rightPtr - leftPtr > k - 1) {
windowSum -= arr[leftPtr];
leftPtr++;
}
if (windowSum / k >= threshold) {
result++;
}
}
rightPtr++;
}
return result;
};

0 comments on commit e876366

Please sign in to comment.