08 2019 档案
摘要:1. 表示数值的字符串 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 解: 思考方向应该是把非法
阅读全文
摘要:1. 斐波那契数列 解: 没啥好说的了,直接上高效的滚动迭代解法。矩阵解法和特征根解法这里不讨论了。 2. 跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解: 这题其实就是斐波那契数列。写一下暴力递归之外的解法。 递归
阅读全文
摘要:任务:想要找到一个高维空间中的分布 P_data(x),要在目标类别的区域,采样的概率是高的;在那个区域之外,probability是低的。但这个P_data(x)分布的具体形式(pdf)是不知道的,GAN 就是要找到这个数据分布。 没有 GAN 怎么做生成?—— 极大似然估计 1. 从 P_dat
阅读全文
摘要:1. Basic idea 基本任务:要得到一个generator,能够模拟想要的数据分布。(一个低维向量到一个高维向量的映射) discriminator就像是一个score function。 如果想让generator生成想要的目标数据,就把这些真实数据作为discriminator的输入,d
阅读全文
摘要:自监督模型 训练一个ae的encoder,就能把code和object对应起来,获得code。给定一个code,decoder就能输出对应的object。 Autoencoder存在什么问题? 因为作为训练数据的object是有限的,导致decoder实际上只能把训练过程中见过的code给还原成对应
阅读全文
摘要:在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是? 回溯,dfs显然可以回退到track的上一个点。分支界限法就是bfs,一个节点就遍历一次。 用俩个栈模拟实现一个队列,如果栈的容量分别是O和P(O>P),那么模拟实现的队列最大容量是多少? 2P+1。大容量的栈A用于存储,小容量
阅读全文
摘要:染色问题 其实就是对图进行上下左右四个方向的dfs或者bfs,再加上一些条件判断并做一些操作。举例说明 Leetcode #733. 图像渲染:有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值
阅读全文
摘要:200.岛屿数量 https://leetcode-cn.com/problems/number-of-islands/ 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围
阅读全文
摘要:191. 位1的个数 https://leetcode-cn.com/problems/number-of-1-bits/ 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这
阅读全文
摘要:70. 爬楼梯 https://leetcode-cn.com/problems/climbing-stairs/ 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 解: 暴力,如果只有一阶,就只有
阅读全文
摘要:69. x的平方根 https://leetcode-cn.com/problems/sqrtx/ 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 解: 二分,不断枚举可能的结果,判断其平方
阅读全文
摘要:51. N皇后 https://leetcode-cn.com/problems/n-queens/ n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的
阅读全文
摘要:102. 二叉树的层次遍历 https://leetcode-cn.com/problems/binary-tree-level-order-traversal/ 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 解: 利用队列实现bfs,从根节点开始入队,如果左右子
阅读全文
摘要:122. 买卖股票的最佳时机ii https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多
阅读全文
摘要:50. Pow(x, n) https://leetcode-cn.com/problems/powx-n/ 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 说明: -100.0 < x < 100.0 n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。 解:
阅读全文
摘要:98. 验证二叉搜索树 https://leetcode-cn.com/problems/validate-binary-search-tree/ 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点
阅读全文
摘要:136. 只出现一次的数字 https://leetcode-cn.com/problems/single-number/ 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
阅读全文
摘要:20. 有效的括号 https://leetcode-cn.com/problems/valid-parentheses/ 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合
阅读全文
摘要:常见双指针技巧用法,只总结思路,具体边界判定想不清楚的时候稍微画个图就行了 1. 快慢指针判断链表是否含有环、环入口(快慢指针再次相遇即有环;再从头节点和快慢指针的相遇位置同速度向后,相遇点即为环入口)。 2. 快慢指针找链表中点、倒数第k个元素(快指针到达 Null 时慢指针所处位置即为中点;快指
阅读全文
摘要:Cache 缓存 1. 记忆 2. 空间有限 3. 钱包 - 储物柜 4. 类似背代码模板,O(n) 变 O(1) LRU Cache 缓存替换算法 1. Least Recently Used(最近最少使⽤的淘汰掉) 2. Hash Table + Double LinkedList(哈希表 +
阅读全文
摘要:并查集 union & find 是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。一般用数组实现。 Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。 Union:将两个子集合并成同一个集合。 在现实生活中的例子 1. 小弟 => ⽼
阅读全文
摘要:位运算 Bitwise operations 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。 常见位运算符: 编程常用的位运算操作 x & 1 == 1 or == 0 判断 x 的二进制最后是 1 还是 0,即判断奇偶性(x % 2 == 1) x = x & (x -
阅读全文
摘要:哈希函数 通过哈希表可以实现 O(1) 复杂度的查找。 哈希函数构造方法:设计好的哈希函数的两个基本原则,计算简单+分布均匀 1. 直接定址法 用key自身的某个线性函数来定址,f(key) = a*key + b。但需要知道关键字的分布情况。 2. 数字分析法 适合处理关键字位数比较大的情况。抽取
阅读全文
摘要:1. 链表中环的入口节点 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路一:用哈希表存已经遍历过的节点,O(1)复杂度查找,如果再次遇到就是环入口 思路二:快慢指针 2. 删除链表中重复的节点 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点
阅读全文
摘要:排序算法的稳定性:一个稳定的排序算法,如果两个等值键R和S在排序前后次序不变,称其是稳定的 例如排序之前的序列为:(4, 1) (3, 1) (3, 7)(5, 6) (3, 1) (3, 7) (4, 1) (5, 6) 维持次序,稳定 (3, 7) (3, 1) (4, 1) (5, 6) 次序
阅读全文
摘要:静态查找:数据集合稳定,不需要添加删除元素的查找操作。 动态查找:查找过程中需要同时添加或删除元素。 查找结构 静态:线性表 动态:二叉排序树、哈希 1. 顺序查找:遍历待查数组,逐个与关键字比较,匹配则查找成功。O(n) 2. 二分查找 数组必须要有序;数组存在明确的上下界;能够通过索引访问(所以
阅读全文

浙公网安备 33010602011771号