数据结构算法
文章平均质量分 78
数据结构算法
海面有风
梦想很大,仍需努力
展开
-
JavaScript数据结构学习笔记(封装栈、队列、优先级队列、链表、双向链表)
一、栈结构 1、封装栈结构及方法 function Stack() { //栈属性 this.items = []; // 入栈 Stack.prototype.push = function(element) {} // 出栈 Stack.prototype.pop = function() {} // 查看栈顶元素 Stack.prototype.peek = function() {} // 判断栈是否为空 Stack.prototype.isEmty = functi原创 2021-04-17 14:22:58 · 210 阅读 · 1 评论 -
上班摸鱼刷了几道算法题
171.excel-表列序号。121.买卖股票的最佳时机。168.excel表列名称。219.存在重复元素-ii。136.只出现一次的数字。119.杨辉三角-ii。原创 2023-02-23 11:00:50 · 84 阅读 · 0 评论 -
【算法】九月算法打卡
比如n = 4,那么以1开头的单词有 3 * 2 * 1 个;n = 3,以1开头的单词有 2 * 1个,依次类推,只要得出 k 是当前阶乘的多少倍,那么就获取剩下的当中的第几个单词。2、移动前需要判断 当前左指针指向的位置height[l],与当前保存的左边界最大值lmax进行比较,并保存最大值。4、此时若 左边界(lmax)小于右边界(rmax),则左边界向中间移动。1、需要实现 isValid() 判断当前填入值后,当前数独是否有效。1、左右指针,左指针在最左边,右指针在最右边,两者不断向中间靠拢。原创 2022-12-17 14:19:55 · 493 阅读 · 0 评论 -
【算法】八月算法打卡
**i --;-- i;};/**// 开始位置,缩小左区域 if(!// 结束位置,缩小右区域 } else if(target < nums [ mid ]) {} else {}原创 2022-12-17 14:06:31 · 482 阅读 · 0 评论 -
【算法】七月算法打卡
注:(1)只能对对象属性进行劫持,不能对整个对象进行劫持(2)不能监听到对象属性的增加和删除(3)数组的 push、pop、shift、unshift、splice、sort,reverse是无法触发 set 方法 注:(1)Proxy 劫持的是对象,因此可以拦截到对象中所有属性的增加删除(2)proxy 可以且不需要对数组的方法进行重载 寻找最值 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkM2koxE-1671255563362)(笔记/2022-07-20.原创 2022-12-17 13:49:50 · 646 阅读 · 0 评论 -
双指针算法(更新中....)
双指针算法顾名思义就是采用左右指针,对数组、字符串进行查找或排序。常见的采用双指针算法方式有以下几个。这里主要是使用第三种方法(双指针),其他两种方法可以看这里。根据前面几点要求,此时 A 所站位置为坑,B为其填坑。首先,一连串待排序的数值指的是该排萝卜的大小。从中间向两边进行扩散,两边向中间进行集合。两工人挖萝卜的方向,及其萝卜是否符合规则。一方坑为空时,另外一方先开始为其填坑。俩个工人相遇,则结束该次填坑。......原创 2022-08-05 20:13:32 · 1681 阅读 · 0 评论 -
JavaScript数据结构学习笔记(封装二叉树)
一、什么是二叉树 二叉树是指每个节点最多含有两个子树的树结构。 特点: 所有节点最多拥有两个子节点,即度不大于2 左子树的键值小于根的键值,右子树的键值大于根的键值。 二、二叉树结构 每一个结点(除叶子结点外)都有左子树和右子树. // 结点 var Node = function(key) { this.key = key; this.left = null; this.right = null; } 三、遍历二叉树 先序遍历 (根 => 左结点 => 右结点) 中序遍历原创 2021-05-22 10:24:19 · 200 阅读 · 1 评论