04 2020 档案
摘要:1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大。而且概率虽然未知,但最起码是一个确定的值。比如如果问那时的人们一个问题:“有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概
阅读全文
摘要:一.写在前面 一个完整的机器学习工程师的面试过程主要有以下这些环节:自我介绍、项目介绍、算法推导和解释、数据结构与算法题(写代码)。 关于自我介绍,主要就是简单介绍下自己的教育背景,在校期间的研究方向和所做的项目以及在项目中所充当的角色等等,为之后的面试做个铺垫,让面试官从中捕捉点来问。 项目介绍是
阅读全文
摘要:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1: 输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2 对于给定的 n,其格雷编码序
阅读全文
摘要:写在前面: 1.Wasserstein GAN(下面简称WGAN)成功地做到了以下爆炸性的几点: 彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度 基本解决了collapse mode的问题,确保了生成样本的多样性 训练过程中终于有一个像交叉熵、准确率这样的数值来指示训练的进
阅读全文
摘要:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] class Solution: def combine(self, n: int,
阅读全文
摘要:1.英雄和怪都有能力值,英雄只能打能力值小于自己能力值的怪,每打完一只怪获得一个金币,任意时刻可以用一个金币换取 1 点能力值,但金币数不能为负(初始为0)。英雄可以以随意顺序打怪,怪物可以不用打完,求可获取金币数的最大值。 >> 输入1 32 2 1 说明:第一行第一个数表示英雄的初始能力值,第二
阅读全文
摘要:542.01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1 思路
阅读全文
摘要:设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。 说明:解集不能包含重复的子集。 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()"] class Solution: def generateP
阅读全文
摘要:题目描述:编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 方法一:遍历,遇到一个数就把所有子集加上该数
阅读全文
摘要:二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。 例如,上面的二进制手表读取 “3:25”。 给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。 案例: 输入: n = 1返
阅读全文
摘要:1. 拿硬币 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次
阅读全文
摘要:121.买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 class Solution: def maxProfit(self, prices: List[int])
阅读全文
摘要:给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可
阅读全文
摘要:⽜顿法是梯度下降法的进一步发展,梯度下降法利用目标函数的一阶偏导数信息、以负梯度方向作为搜索方向,只考虑目标函数在迭代点的局部性质;而牛顿法不仅使用目标函数的一阶偏导数,还进一步利⽤了目标函数的二阶偏导数,这样就考虑了梯度变化的趋势,因⽽而能更全面地确定合适的搜索方向加快收敛,它具有二阶收敛速度。
阅读全文
摘要:class Solution(object): #回溯法 def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ if not digits: return [] dic = {'2':'ab
阅读全文
摘要:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素。所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从
阅读全文
摘要:题目描述:给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1 思路: 题目给
阅读全文
摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3输出: ["((()))", "(()())", "(())()", "()(())", "()()()" ] 方法一:暴力法 为了生成所有序列,我们可以使用递归。长度为 n 的序
阅读全文
摘要:题目描述:统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 质数就是除了 1 和本身找不到其他能除尽的数!思路一:暴力法(超时) class Solution: def countPrimes(s
阅读全文
摘要:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -
阅读全文
摘要:试探算法也叫回溯法,它选择先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。当发现当前候选解不可能是正确的解时,就选择下一个候选解。如果当前候选解除不满足规模要求外,能够满足所有其他要求,则继续扩大当前候选解的规模,并继续试探。如果当前候选解满足包括问题规模在内的所有要求,
阅读全文
摘要:思路: 考虑每一个节点,小偷有两种选择,偷,或者不偷。 用res[?, ?]存储这两种情况下能偷到的最多的钱。res[0]表示不偷该节点能得到的最多的钱,res[1]表示偷了该节点能得到的最多的钱。 1.如果某个节点是NULL,那么显然,res=[0, 0]2.如果节点不为空: 1)不偷此节点的话,
阅读全文
摘要:题目描述:给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros"输出:3解释:horse
阅读全文
摘要:方法1:动态规划 最重要的是变换思想,从知道鸡蛋数K,知道层数N,求最少次数M;转化为知道鸡蛋数K,假设最多只能扔M次,求最大能排除的层数。 创建一个二维列表dp[K][N]来记录最大能排除层数(M<=N,即使一层一层扔,最多也只会扔N次,保证不会溢出)。 dp[0][:]=0 : 0个鸡蛋,无论扔
阅读全文
摘要:class Solution: def pathSum(self, root: TreeNode, sum: int) -> List[List[int]]: res=[] def traceback(node,trace,sum): if not node: return if node.val=
阅读全文
摘要:方法一:递归写法(分治思想) class Solution: def myPow(self, x: float, n: int) -> float: if n == 0: return 1 if n < 0: return 1 / self.myPow(x, -n) # 如果是奇数 if n & 1
阅读全文
摘要:class Solution: def exist(self, board: List[List[str]], word: str) -> bool: def dfs(i, j, k): if not 0 <= i < len(board) or not 0 <= j < len(board[0])
阅读全文
摘要:class Solution: def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode: if not preorder or not inorder: return None root = TreeNode(
阅读全文
摘要:题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的
阅读全文
摘要:题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 示
阅读全文
摘要:题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 思路步骤: 1.确定根节点root;2.遍历序列(除去root结点),找到第一个大于root的位置,则该位置左边为左子树,右边为右子树;3.遍历
阅读全文
摘要:1.先序遍历:根节点->左子树->右子树 1 # 先序打印二叉树(递归) 2 def preOrderTraverse(node): 3 if node is None: 4 return None 5 print(node.val) 6 preOrderTraverse(node.left) 7
阅读全文
摘要:题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度
阅读全文
摘要:概念 最大公约数:指两个或多个整数公有约数中最大的一个 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数 二者关系:两个数之积=最小公倍数*最大公约数 方法1:辗转相除法 a=int(input('please enter 1st num
阅读全文

浙公网安备 33010602011771号