//Map+递归
let arr = new Array(10).fill("").map((_, index) => {
return index
})
let dataMap = new Map()
const count = (data) => {
if (data.length <= 0) {
return
}
if(dataMap.get(data)){
return dataMap.get(data)
}
if (data.length == 1) {
return data[0]
}
let mid = Math.floor(data.length / 2)
let leftD = data.slice(0, mid)
let rightD = data.slice(mid )
dataMap.set(leftD,count(leftD))
dataMap.set(rightD,count(rightD))
return count(leftD) + count(rightD)
}
class Queue{
#contains=new Array()
find(index){
return this.#contains[index]
}
add(value){
this.#contains.push(value)
}
popout(){
return this.#contains.shift()
}
}
let test=new Queue()
test.add(1)
test.add(2)
console.log(test.find(0),test);
test.popout()
console.log(test.find(0),test.contains);
class Stack{
#contains=new Array()
find(index){
return this.#contains[index]
}
add(value){
this.#contains.push(value)
}
popout(){
return this.#contains.pop()
}
}
let testQueue=new Stack()
testQueue.add(1)
testQueue.add(2)
console.log(testQueue.find(0),testQueue);
testQueue.popout()
console.log(testQueue.find(0),testQueue.contains);