JS 对象 对象 JS 中,对象的 key 都会被转为 string 类型。 如: const obj = { 1: 'a', 2: 'b', 3: 'c' }; obj.hasOwnProperty('1'); // true obj.hasOwnProperty(1); // true 再如 2020-11-27 JS JS Object
奇妙的算法知识 位运算 n & n-1 n&(n-1)作用:将n的二进制表示中的最低位为1的改为0 例如 20 & 19 = 16 => 10100 & 10011 => 10000 21 & 20 = 20 => 10101 & 10100 => 10100 因此对于奇数来说,就是把它最后一位的 1 给抹去,相当于减了一个 2020-11-19 算法题 算法知识 位运算
LeetCode 140. 单词拆分 II https://leetcode-cn.com/problems/word-break-ii/ 难度:困难 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "c 2020-11-16 算法题 解答 LeetCode 回溯 记忆优化
LeetCode 25. K 个一组翻转链表 https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 难度:困难 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例: 给你这个链表:1->2->3->4-& 2020-11-14 算法题 解答 LeetCode 链表反转
NC45实现二叉树先序、中序和后序遍历 题目地址 如标题,实现二叉树的三序遍历。 例 输入:1, 2, 3 输出:[[1, 2, 3], [2, 1, 3], [2, 3, 1]] 输出的数组就是[前、中、后] 序的遍历。 解法1:Morris 算法 递归和非递归的三序遍历都比较简单,迭代版本的递归可看下面几个链接: 前序遍历 中序遍历 后序遍历 这里主要使用 Morris 算法进行三序遍历。 Morri 2020-10-30 算法题 解答 牛客网 中序遍历 Morris 前序遍历 后序遍历
NC93设计LRU缓存结构 题目地址 题目简述: 设计数据结构,模拟 LRU(Least Recently Used),且要实现两个时间复杂度为 O(1) 的方法: set(key, value) :往 LRU 结构中插入记录 key -> value get(key) :从 LRU 结构中获取 key 对应的 value ,若无该记录,返回 -1 每当使用了这两个方法之一,这个 key 记录就会变成当前 2020-10-29 算法题 解答 牛客网 LRU 双向链表
剑指 Offer 17. 打印从1到最大的n位数 https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ 难度:简单 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 2020-10-28 算法题 解答 剑指Offer 回溯 大数
LeetCode 144. 二叉树的前序遍历 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 难度:中等 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解法1:迭代 能使用递归完成的算法,一般也能使用迭代 2020-10-27 算法题 解答 LeetCode 前序遍历
球心坐标与本地坐标 1 球心坐标(ECEF)与本地坐标(NEU) 假如你来到一个陌生城市,你很可能需要问路、通常会告诉你向北走100米,右转,向东走100米,理解起来很直观。 你给儿子买了一个地球仪,你从北京(39,115)转到伦敦 (51,0),这个动作就可以分解为两步:先转到同一个经度(39,0),在转到同一个维度(51,0) 这个例子体现了一个问题:不同的地理范围下会使用更适合的坐标系。比如前者是 2020-10-26 WebGL 坐标系
LeetCode 845. 数组中的最长山脉 https://leetcode-cn.com/problems/longest-mountain-in-array/ 难度:中等 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”: B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] < ... B[i-1] < B[i] > 2020-10-25 算法题 解答 LeetCode 动态规划 状态分析