Package Exports
- @masx200/leetcode-class
- @masx200/leetcode-class/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@masx200/leetcode-class) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
LeetCode-Class
This project is convenient for you to debug LeetCode
includes ListNode, TreeNode, Interval, Employee
ListNode
Constructor
const node = new ListNode(val);Initialize using an array
(Follow LeetCode topic specifications): ListNode.create(arr : Array) : ListNode
const head = ListNode.create([1, 2, 3, 4, 5]);Visual display
ListNode.prototype.visualShow() : void
const head = ListNode.create([1, 2, 3, 4, 5]);
head.visualShow();
//1 -> 2 -> 3 -> 4 -> 5Initialize Cross linked List using arrays
(Follow LeetCode topic specifications, Example Question 160): ListNode.createIntersectList(firstArr: Array<any>,secondArr: Array<any>IntersectArr: Array<any>) : [ListNode, ListNode], parameters are: first ListArray Uncrossed, second ListArray Uncrossed, crossed
const [head1, head2] = ListNode.createIntersectList([1, 2], [3, 4], [5, 6]);Transform ListNodes to array
ListNode.prototype.show() : Array
const head = ListNode.create([1, 2, 3]);
head.show();
// [1,2,3]
ListNode.show(head);
// [1,2,3]Get the last ListNode for a ListNode
ListNode.prototype.getLast() : ListNode
const head = ListNode.create([1, 2, 3]);
head.getLast().show();
// [3]Mock a ListNode with length n
ListNode.mock(n : Number) : ListNode
const head = ListNode.mock(5);Interval
Constructor
Interval
const interval = new Interval(1, 3);Initialize using an array
(Follow LeetCode topic specifications): Interval.createList(arr : Array[]) : Interval[]
const intervals = Interval.createList([
[1, 2],
[3, 4],
]);Transform Interval to array
Interval.show() : Array
const interval = new Interval(1, 3);
interval.show();
// [1,3]
Interval.show(interval);
// [1,3]Transform Intervals to arrays: Interval.showList() : Array[]
const intervals = Interval.createList([
[1, 2],
[3, 4],
]);
Interval.showList(intervals);
// [[1,2],[3,4]]Employee
Constructor
Employee
const employee = new Employee(1);(Follow LeetCode topic specifications): Employee.createArr(arr: [number, number, number[]][]) : Employee[]
TreeNode
Constructor
TreeNode
const node = new TreeNode(5);Initialize using an array
(Follow LeetCode topic specifications): TreeNode.create(arr : Array) : TreeNode
P.S. LeetCode title specification is From top to bottom, from left to right, indispensable position fill with
null
const head = TreeNode.create([1, 2, 3, null, 4, null, null, 5, 6]);Transfrom TreeNode to array
TreeNode.prototype.show() : Array
const head = TreeNode.create([1, 2, 3, null, 4, null, null, 5, 6]);
head.show();
// [1,2,3,null,4,null,null,5,6]
TreeNode.show(head);
// [1,2,3,null,4,null,null,5,6]Visual display
TreeNode.prototype.visualShow() : void
const head = TreeNode.create([1, 2, 3, null, 4, null, null, 5, 6]);
head.visualShow();
// 1 -> 2
// ↘→ 4 -> 5
// ↘→ 6
// ↘→ 3Heap
Constructor
Heap
const heap = new Heap([2, 1, 0, 3, 4], null, false);The first argument is inital array The second argument is how to get number from the element, default is null(get the value) For example:
const heap = new Heap(
[
{ val: 2, name: "b" },
{ val: 1, name: "a" },
],
(element) => element.val,
false
);The third parameter indicates whether it is the maximum heap, default is minimum heap
add element
Heap.prototype.add(element: T): number
heap.add(5);delete element
Heap.prototype.delete() : T
head.delete();get the minimum/maximum element
Heap.prototype.value[0]
head.value[0];RunScript(For Constructor)
For Question
1172, Dinner Plate Stacks.issueis need For this is Test
Run
Execute input parameters in a certain order
function runScript(ommonds: String[], inputs: any[][], classes?: any[]): any[]
// The parameters from left to right are
// commonds : List of executed commands
// inputs : Corresponding execution parameters
// classes : Corresponding execution class array
runScript(
[
"DinnerPlates",
"push",
"push",
"push",
"push",
"push",
"popAtStack",
"push",
"push",
"popAtStack",
"popAtStack",
"pop",
"pop",
"pop",
"pop",
"pop",
],
[
[2],
[1],
[2],
[3],
[4],
[5],
[0],
[20],
[21],
[0],
[2],
[],
[],
[],
[],
[],
],
[DinnerPlates]
);
// see exampleresults compare
please use nodejs assert to confirm the result is right.