摘要:
LeetCode 56 合并区别 Given , return . 关键就是 也就是 Leetcode 459 判断重复的子串 606 合法括号 669 11盛最多水的容器 20 合法括号 26 从排序数组中删除重复项 思路 使用快慢指针来记录遍历的坐标 开始时这两个指针都指向第一个数字 如果两个指 阅读全文
摘要:
238 数字 二进制 补码 十进制 js let arr = [1, 2, 3, 4, 5] let sum = '' arr.some(v= { sum+=v if (v == 3) { return true } }) console.log(sum) js let arr = [1, 2, 3 阅读全文
摘要:
哈夫曼树(赫夫曼树/霍夫曼树 /最优树) 若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树 应用场景文件压缩,又叫压缩算法 现在有3课二叉树,都有四个节点,分别带权13,7,8,3 一段字符串中计算每一个字符重复的次数 扩充二叉树 对于一颗已有的二叉树,如果我们为他添加一系列 阅读全文
摘要:
双指针技巧 167 两数之和 输入一个升序的有序数组,找到两数的和等于目标值 js //如果遇到不是数字后者字母直接跳过 const isPalindrome = s = { let start = 0, end = s.length 1; let reg = /[a z0 9]/ while (s 阅读全文
摘要:
贪心算法 前置知识 js const wiggleMax = nums = { let n = nums.length if (n return n } let up = 1; let down = 1; for (let i = 1; i if (nums[i] nums[i 1]) { up=d 阅读全文
摘要:
html转译 数字前面加密 js const mask = (cc, num = 4, mask = ' ') = .slice( num).padStart( .length, mask); mask(1234567890); // ' 7890' mask(1234567890, 3); // 阅读全文
摘要:
科普二叉树 二叉树 二叉数是每个节点最多有两个子树,或者是空树(n=0),或者是由一个根节点及两个互不相交的,分别称为左子树和右子树的二叉树组成 满二叉树 有两个非空子树(二叉树中的每个结点恰好有两个孩子结点切所有叶子结点都在同一层) 也就是一个结点要么是叶结点,要么是有两个子结点的中间结点。 深度 阅读全文
摘要:
选择排序 原理 : 当i=0,首先找到最小的元素放在起始的位置,然后i=1,再然后找到最小的元素放到最左i=1的位置,然后i=2,... 动画演示 插入排序 归并排序 动画 逻辑解释 首先,讲数字分割成两份区域,在讲数字分割成两份区域,只到每块区域只有一个元素(这个过程是递归过程) 截下来,讲分割的 阅读全文
摘要:
最小和 位运算知识点 12 1 //6 a/2 等价为 a 1 中间数 (L+R)/2 会出现溢出(溢出的意思就是超过了二进制) L+(R L)/2 最终改成 l+((r l) 1) 递归的理解 递归算法实际上是一种分而治之的方法,它把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔 阅读全文
摘要:
前言 本周花了大量的时间再研究算法,这个东西不是一下子就能搞懂的,可能花了大量的时间的看不到见效,也就是得不到一些有效的反馈,这也是我现在比较苦恼的问题,是继续先研究数据结构和算法,还是直接刷leetcode呢?我也不清晰,两眼摸黑,能怎么办呢?学呗,没准一年后就入门了,每天啃一点,没准哪天突然领悟 阅读全文