leetcode-class
v1.2.4
Published
JavaScript Tools For LeetCode
Downloads
30
Maintainers
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 -> 5
Initialize 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
// ↘→ 3
Heap
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
TreeNode.prototype.value[0]
head.value[0]
RunScript(For Constructor)
For Question
1172
, Dinner Plate Stacks.issue
is 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 example
results compare
please use nodejs assert
to confirm the result is right.