Skip to content

Commit c1aec19

Browse files
Run Prettier Batch 3
1 parent d7cda53 commit c1aec19

24 files changed

+391
-371
lines changed

LeetcodeProblems/Algorithms/Implement_stack_using_queues.js

+15-17
Original file line numberDiff line numberDiff line change
@@ -24,44 +24,42 @@ Depending on your language, queue may not be supported natively. You may simulat
2424
You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
2525
*/
2626

27-
class MyStack {
27+
class MyStack {
2828
constructor() {
2929
this.q1 = [];
3030
this.q2 = [];
31-
};
31+
}
3232

3333
push(elem) {
34-
if(this.q1.length > 0) {
34+
if (this.q1.length > 0) {
3535
this.q1.push(elem);
3636
} else {
37-
this.q2.push(elem);
37+
this.q2.push(elem);
3838
}
39-
};
39+
}
4040

4141
pop() {
42-
if(this.q1.length === 0 && this.q2.length === 0)
43-
return null;
42+
if (this.q1.length === 0 && this.q2.length === 0) return null;
4443

45-
if(this.q1.length > 0) {
46-
while(this.q1.length > 1) {
44+
if (this.q1.length > 0) {
45+
while (this.q1.length > 1) {
4746
var elem = this.q1.shift();
4847
this.q2.push(elem);
4948
}
5049
return this.q1.shift();
5150
} else {
52-
while(this.q2.length > 1) {
51+
while (this.q2.length > 1) {
5352
var elem = this.q2.shift();
5453
this.q1.push(elem);
5554
}
5655
return this.q2.shift();
5756
}
58-
};
57+
}
5958

6059
top() {
61-
if(this.q1.length === 0 && this.q2.length === 0)
62-
return null;
60+
if (this.q1.length === 0 && this.q2.length === 0) return null;
6361

64-
if(this.q1.length > 0) {
62+
if (this.q1.length > 0) {
6563
var elem = this.pop();
6664
this.q2.push(elem);
6765
return elem;
@@ -70,11 +68,11 @@ class MyStack {
7068
this.q1.push(elem);
7169
return elem;
7270
}
73-
};
71+
}
7472

7573
empty() {
7674
return this.q1.length == 0 && this.q2.length === 0;
77-
};
75+
}
7876
}
7977

80-
module.exports.MyStack = MyStack;
78+
module.exports.MyStack = MyStack;

LeetcodeProblems/Algorithms/Kth_Largest_Element_in_an_Array.js

+17-19
Original file line numberDiff line numberDiff line change
@@ -16,45 +16,43 @@ Note:
1616
You may assume k is always valid, 1 ≤ k ≤ array's length.
1717
*/
1818

19-
2019
/**
2120
* @param {number[]} nums
2221
* @param {number} k
2322
* @return {number}
2423
*/
25-
var findKthLargest = function(nums, k) {
26-
for(var i = Math.floor(nums.length/2) - 1; i >= 0; i--) {
24+
var findKthLargest = function (nums, k) {
25+
for (var i = Math.floor(nums.length / 2) - 1; i >= 0; i--) {
2726
heapify(nums, nums.length, i);
2827
}
29-
30-
for(var i = nums.length -1; i >= nums.length - k - 1 && i >= 0; i--) {
28+
29+
for (var i = nums.length - 1; i >= nums.length - k - 1 && i >= 0; i--) {
3130
swap(nums, 0, i);
3231
heapify(nums, i, 0);
3332
}
34-
33+
3534
return nums[nums.length - k];
36-
}
35+
};
3736

38-
var heapify = function(nums, length, i) {
37+
var heapify = function (nums, length, i) {
3938
var left = 2 * i + 1;
4039
var right = 2 * i + 2;
41-
42-
if(left >= length)
43-
return;
44-
45-
if(nums[i] < nums[left] && (right >= length || nums[left] > nums[right])) {
40+
41+
if (left >= length) return;
42+
43+
if (nums[i] < nums[left] && (right >= length || nums[left] > nums[right])) {
4644
swap(nums, left, i);
4745
heapify(nums, length, left);
48-
} else if(right < length && nums[right] > nums[i]) {
49-
swap(nums, right, i)
50-
heapify(nums, length, right)
46+
} else if (right < length && nums[right] > nums[i]) {
47+
swap(nums, right, i);
48+
heapify(nums, length, right);
5149
}
52-
}
50+
};
5351

54-
var swap = function(nums, a, b) {
52+
var swap = function (nums, a, b) {
5553
const temp = nums[a];
5654
nums[a] = nums[b];
5755
nums[b] = temp;
58-
}
56+
};
5957

6058
module.exports.findKthLargest = findKthLargest;

LeetcodeProblems/Algorithms/Linked_List_Cycle_II.js

+14-15
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,26 @@ Follow up:
1010
Can you solve it without using extra space?
1111
*/
1212

13-
var ListNode = require('../../UtilsClasses/ListNode').ListNode;
13+
var ListNode = require("../../UtilsClasses/ListNode").ListNode;
1414

1515
// Optimal solution
1616
/**
17-
* @param {ListNode} head
18-
* @return {ListNode}
19-
*/
20-
var detectCycle = function(head) {
21-
if (head === null)
22-
return null;
17+
* @param {ListNode} head
18+
* @return {ListNode}
19+
*/
20+
var detectCycle = function (head) {
21+
if (head === null) return null;
2322

2423
var slow = head;
2524
var fast = head;
2625

27-
while(fast.next !== null && fast.next.next !== null) {
26+
while (fast.next !== null && fast.next.next !== null) {
2827
slow = slow.next;
2928
fast = fast.next.next;
30-
if(fast == slow) {
29+
if (fast == slow) {
3130
var a = head;
3231
var b = slow;
33-
while(a !== b) {
32+
while (a !== b) {
3433
a = a.next;
3534
b = b.next;
3635
}
@@ -41,18 +40,18 @@ var detectCycle = function(head) {
4140
};
4241

4342
// Naiver solution using a Set
44-
var detectCycle2 = function(head) {
45-
if(head === null || head.next === null) {
43+
var detectCycle2 = function (head) {
44+
if (head === null || head.next === null) {
4645
return null;
4746
}
4847
var setNodes = new Set();
4948
var iter = head;
50-
while(iter !== null) {
51-
if(setNodes.has(iter)) {
49+
while (iter !== null) {
50+
if (setNodes.has(iter)) {
5251
return iter;
5352
}
5453
setNodes.add(iter);
55-
iter = iter.next
54+
iter = iter.next;
5655
}
5756
return null;
5857
};

LeetcodeProblems/Algorithms/Longest_Consecutive_Sequence.js

+12-15
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,33 @@ Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefor
1717
* @param {number[]} nums
1818
* @return {number}
1919
*/
20-
var longestConsecutive = function(nums) {
21-
if(nums.length === 0)
22-
return 0;
20+
var longestConsecutive = function (nums) {
21+
if (nums.length === 0) return 0;
2322
var setNums = new Set();
24-
for(var i = 0; i < nums.length; i++)
25-
setNums.add(nums[i]);
26-
23+
for (var i = 0; i < nums.length; i++) setNums.add(nums[i]);
24+
2725
var cons = 1;
2826
var currentCons = 1;
29-
for(var i = 0; i < nums.length; i++) {
27+
for (var i = 0; i < nums.length; i++) {
3028
var number = nums[i];
31-
if(setNums.has(number)) {
29+
if (setNums.has(number)) {
3230
setNums.delete(number);
33-
31+
3432
var prevNum = number - 1;
35-
while(setNums.has(prevNum)){
33+
while (setNums.has(prevNum)) {
3634
currentCons++;
3735
setNums.delete(prevNum);
3836
prevNum--;
3937
}
40-
38+
4139
var nextNum = number + 1;
42-
while(setNums.has(nextNum)){
40+
while (setNums.has(nextNum)) {
4341
currentCons++;
4442
setNums.delete(nextNum);
4543
nextNum++;
4644
}
47-
48-
if(currentCons > cons)
49-
cons = currentCons
45+
46+
if (currentCons > cons) cons = currentCons;
5047
}
5148
currentCons = 1;
5249
}

LeetcodeProblems/Algorithms/Longest_Palindromic_Substring.js

+27-20
Original file line numberDiff line numberDiff line change
@@ -19,48 +19,55 @@ Output: "bb"
1919
* @param {string} s
2020
* @return {string}
2121
*/
22-
var longestPalindrome = function(str) {
23-
if(str.length == 0)
24-
return "";
25-
26-
var maxPal = 1;
27-
var posPalStart = 0;
22+
var longestPalindrome = function (str) {
23+
if (str.length == 0) return "";
24+
25+
var maxPal = 1;
26+
var posPalStart = 0;
2827
var currentPalStart = 0;
2928

30-
for(var i = 1; i < str.length; i++) {
31-
if(str.charAt(i - 1) == str.charAt(i)) {
29+
for (var i = 1; i < str.length; i++) {
30+
if (str.charAt(i - 1) == str.charAt(i)) {
3231
currentPalStart = i - 1;
33-
var currentPal = 2;
32+
var currentPal = 2;
3433
var iter = 1;
35-
while(i - iter - 1 >= 0 && i + iter < str.length && str.charAt(i - iter - 1) == str.charAt(i + iter)) {
34+
while (
35+
i - iter - 1 >= 0 &&
36+
i + iter < str.length &&
37+
str.charAt(i - iter - 1) == str.charAt(i + iter)
38+
) {
3639
currentPalStart = i - iter - 1;
3740
iter++;
3841
currentPal += 2;
3942
}
40-
}
41-
if(currentPal > maxPal) {
43+
}
44+
if (currentPal > maxPal) {
4245
maxPal = currentPal;
4346
posPalStart = currentPalStart;
4447
}
4548
}
46-
47-
for(var i = 1; i < str.length - 1; i++) {
48-
if(str.charAt(i - 1) == str.charAt(i + 1)) {
49+
50+
for (var i = 1; i < str.length - 1; i++) {
51+
if (str.charAt(i - 1) == str.charAt(i + 1)) {
4952
currentPal = 1;
5053
var iter = 1;
51-
while(i - iter >= 0 && i + iter < str.length && str.charAt(i - iter) == str.charAt(i + iter)) {
54+
while (
55+
i - iter >= 0 &&
56+
i + iter < str.length &&
57+
str.charAt(i - iter) == str.charAt(i + iter)
58+
) {
5259
currentPalStart = i - iter;
5360
iter++;
5461
currentPal += 2;
5562
}
5663
}
57-
if(currentPal > maxPal) {
64+
if (currentPal > maxPal) {
5865
maxPal = currentPal;
5966
posPalStart = currentPalStart;
6067
}
6168
}
62-
69+
6370
return str.slice(posPalStart, posPalStart + maxPal);
64-
}
71+
};
6572

66-
module.exports.longestPalindrome = longestPalindrome
73+
module.exports.longestPalindrome = longestPalindrome;

LeetcodeProblems/Algorithms/Majority_Element.js

+8-11
Original file line numberDiff line numberDiff line change
@@ -18,30 +18,27 @@ Output: 2
1818
Note: You should have a better solution than O(N)
1919
*/
2020

21-
2221
/**
2322
* @param {number[]} nums
2423
* @return {number}
2524
*/
26-
var majorityElement = function(nums) {
27-
if(nums.length === 0)
28-
return -1;
29-
25+
var majorityElement = function (nums) {
26+
if (nums.length === 0) return -1;
27+
3028
var candidate = nums[0];
3129
var proves = 1;
32-
33-
for(var i = 1; i < nums.length; i++) {
34-
if(nums[i] === candidate)
35-
proves++;
30+
31+
for (var i = 1; i < nums.length; i++) {
32+
if (nums[i] === candidate) proves++;
3633
else {
3734
proves--;
38-
if(proves === 0) {
35+
if (proves === 0) {
3936
candidate = nums[i];
4037
proves = 1;
4138
}
4239
}
4340
}
44-
41+
4542
return candidate;
4643
};
4744

0 commit comments

Comments
 (0)