算法双指针的两种方式
双指针的两种方式 左右双指针 盛最多水的容器 let array = [1,8,6,2,5,4,8,3,7]; let maxarea = 0, L = 0, R = array.length; while(L < R) { maxarea = Math.max(maxarea, Math.min(array[L], array[R]) * (L - R)); arra...
双指针的两种方式 左右双指针 盛最多水的容器 let array = [1,8,6,2,5,4,8,3,7]; let maxarea = 0, L = 0, R = array.length; while(L < R) { maxarea = Math.max(maxarea, Math.min(array[L], array[R]) * (L - R)); arra...
什么是树 例子中使用Java语言和lombok来自动实现构造函数 先了解什么是链表,链表是一个每一项都指向前一个节点或后一个节点的数组 graph TD 59(59)-->26(26) 26(26)-->13(13) 13(13)-->5(5) public class LinkList { @Setter @Getter private String...
时间复杂度和空间复杂度分析 为什么要追求时间复杂度 对数 理解复杂度先来理解一个高中数学概念对数。 16世纪到17世纪是天文、航海、工程、贸易、军事等方面的发展的重要时期,数据不能满足自然科学等方面的发展,约翰·纳皮尔(J.Napier,1550-1617)在研究天文学的过程中为了简化计算发明了对数。对数的发明是数学历史上的重大发明,对当时的自然科学等学科的发展起到了重要作用,恩格斯...
来看一段代码 var obj = (function(){ var num = 0; return { 'getNum': function(){ return ++num; } } })(); console.log(obj.getNum());// 1 console.log(obj.getNum());// 2 console.log(obj....
递归算法 工作中可能会去遍历一个树状的菜单,如何去写一个比较好、效率高的递归函数来遍历菜单? 首先要生成一个树的数组 var menus = [{ id: 1, name: "系统", menus: [{ id: 2, name: "系统管理", menus: [{ ...