- 博客(59)
- 收藏
- 关注
原创 动手学深度学习(二)
一、卷积神经网络 1、二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。 互相关运算,输入数组和核数组得到输出数组,卷积的核数组可以学习,使用互相关运算和使用卷积运算没有本质区别。 2、二维卷积层 二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏置来得到输出。 ...
2020-02-23 11:36:19
473
原创 动手学深度学习(一)
一、线性回归 1、基本要素:模型、数据集、损失函数、优化函数 2、矢量计算更好 3、num_inputs是特征数 x是几个特征几个数据 w是1几个特征 y是1*几个数据 二、Softmax与分类模型 1、softmax运算符(softmax operator)将输出值变换成值为正且和为1的概率分布 2、分类问题可以用交叉熵损失函数,交叉熵函数实际上只关心正确类别的预测概率 3、torchvisio...
2020-02-13 21:16:03
477
原创 LeetCode刷题-二叉树的最近公共祖先
一、题目描述 https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/ 二、解题思路 递归求解,左子树找不到就返回右子树,右子树找不到就返回左子树,都找到了就返回当前的节点 三、代码实现 ...
2019-06-28 10:00:52
379
原创 LeetCode刷题-二叉搜索树的最近公共祖先
一、题目描述 https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 二、解题思路 二叉搜索树特点:left.val < root.val < right.val 三、代码实现 ...
2019-06-28 08:30:02
678
原创 LeetCode刷题-2的幂
一、题目描述 https://leetcode-cn.com/problems/power-of-two/ 二、解题思路 2的幂次方的数二进制都只有一位上面是1,其余全是0,减1的话这一位后面都变为1,相与变为0 三、代码描述 ...
2019-06-27 08:54:26
232
原创 LeetCode刷题-二叉搜索树中第K小的元素
一、题目描述 https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/ 二、解题思路 中序遍历 三、代码实现
2019-06-26 08:46:44
282
原创 LeetCode刷题-反转链表
一、题目描述 https://leetcode-cn.com/problems/reverse-linked-list/ 二、解题思路 三个指针 三、代码描述
2019-06-25 08:30:11
204
原创 LeetCode刷题-相交链表
一、题目描述 https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 二、解题思路 用数组存储起来,然后再逆序找 三、代码实现
2019-06-24 10:15:59
376
原创 LeetCode刷题-环形链表Ⅱ
一、题目描述 https://leetcode-cn.com/problems/linked-list-cycle-ii/ 二、解题思路 找到第一个重复的元素 三、代码实现
2019-06-22 09:37:20
211
原创 LeetCode刷题-环形链表
一、题目描述 https://leetcode-cn.com/problems/linked-list-cycle/ 二、解题思路 快慢指针,看是否有相同元素 三、代码实现
2019-06-22 09:13:06
253
原创 LeetCode刷题-最小栈
一、题目描述 https://leetcode-cn.com/problems/min-stack/ 二、解题思路 用了两个栈 三、代码实现
2019-06-21 08:31:32
228
原创 LeetCode刷题-数组中的第K个最大元素
一、题目描述 https://leetcode-cn.com/problems/kth-largest-element-in-an-array/ 二、解题思路 用冒泡超时,直接用内置函数也可以 三、代码实现
2019-06-20 09:37:19
258
原创 LeetCode刷题-存在重复元素
一、题目描述 https://leetcode-cn.com/problems/contains-duplicate/ 二、解题思路 用元组set()判断有没有重复 三、代码实现
2019-06-19 08:33:58
265
原创 LeetCode刷题-排序链表
一、题目描述 https://leetcode-cn.com/problems/sort-list/ 二、解题思路 1、利用快慢指针找到链表中点,将其分为两半 2、递归调用上述过程 3、合并有序链表 三、代码实现 ...
2019-06-17 16:36:35
220
原创 LeetCode刷题-LRU缓存机制
一、题目描述 https://leetcode-cn.com/problems/lru-cache/ 二、解题思路 参考的官方题解 三、代码实现
2019-06-15 16:54:18
396
原创 LeetCode刷题-除自身以外数组的乘积
一、题目描述 https://leetcode-cn.com/problems/product-of-array-except-self/ 二、解题思路 用了两个数组 三、代码实现
2019-06-15 15:36:42
369
原创 LeetCode刷题-Nim游戏
一、题目描述 https://leetcode-cn.com/problems/nim-game/ 二、解题思路 在你拿之前剩余的石头不是四的倍数就能赢 三、代码实现
2019-06-14 08:49:13
353
原创 LeetCode刷题-买卖股票的最佳时机Ⅱ
一、题目描述 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 二、解题思路 贪心算法 三、代码实现
2019-06-14 08:25:31
367
原创 LeetCode刷题-买卖股票的最佳时机
一、题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大 利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最 大利润 = 6-1 = 5 ...
2019-06-13 08:40:10
504
原创 解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte
在运行这段打开读取.txt文件时总是报错, pycharm环境配置没问题,那么是源文件的问题,打开.txt文件,另存为,修改一下编码格式,如下图 选中UTF-8,保存,代码就运行成功了 ...
2019-06-12 16:08:51
5599
1
原创 LeetCode刷题-二叉树中的最大路径和
一、题目描述 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点, 且不一定经过根节点。 示例 1: 输入: [1,2,3] 1 / 2 3 输出: 6 示例 2: 输入: [-10,9,20,null,null,15,7] -10 / 9 20 / 15 7 输出: 42 二、解题思路 某一个根节点到某...
2019-06-12 10:54:27
345
原创 LeetCode刷题-反转字符串中的单词Ⅲ
一、题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: “Let’s take LeetCode contest” 输出: “s’teL ekat edoCteeL tsetnoc” 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 二、解题思路 用python的join和split() 三、代码实现 ...
2019-06-12 09:26:11
249
原创 LeetCode刷题-格雷编码
一、题目描述 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1: 输入: 2 输出: [0,1,3,2] 解释: 00 - 0 01 - 1 11 - 3 10 - 2 对于给定的 n,其格雷编码序列并不唯一。 例如,[0,2,3,1] 也是一个有效的格雷编码序列。 00...
2019-06-12 08:40:44
195
原创 LeetCode刷题-旋转链表
一、题目描述 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL 向右旋转 2 步: 4-...
2019-06-11 14:43:49
237
原创 LeetCode刷题-螺旋矩阵Ⅱ
一、题目描述 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 二、解题思路 将数从外圈开始排列 三、代码实现 ...
2019-06-11 11:17:22
243
原创 LeetCode刷题-螺旋矩阵
一、题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: 输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12] ] 输出: [1,2,...
2019-06-11 10:33:17
228
原创 LeetCode刷题-全排列
一、题目描述 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 二、解题思路 官方题解中回溯算法 三、代码实现 ...
2019-06-11 09:46:27
220
原创 LeetCode刷题-搜索旋转排序数组
一、题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入: nums = [4,5,6,7,0,1,2...
2019-06-11 09:19:03
311
原创 LeetCode刷题-合并K个排序链表
一、题目描述 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 二、解题思路 暴力法 遍历所有链表,将所有节点的值放到一个数组中。 将这个数组排序,然后遍历所有元素得到正确顺序的值。...
2019-06-07 11:38:30
212
原创 LeetCode刷题-最接近的三数之和
一、题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 二、解题思路 判断三数之和与ta...
2019-06-06 08:20:24
200
原创 LeetCode刷题-三数之和
一、题目描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 二、解题思路 先排序再判...
2019-06-05 08:49:16
195
原创 LeetCode刷题-反转字符串
一、题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:[“h”,“e”,“l”,“l”,“o”] 输出:[“o”,“l”,“l”,“e”,“h”] 示例 2: 输...
2019-06-04 08:58:42
197
原创 LeetCode刷题-只出现一次的数字
一、题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 二、解题思路 用异或的方法 三、代码实现 ...
2019-06-03 08:32:59
229
原创 LeetCode刷题-字符串转换整数
一、题目描述 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能...
2019-06-01 16:47:09
613
原创 LeetCode刷题-不同路径
一、题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从...
2019-06-01 09:12:44
268
原创 LeetCode刷题-二叉树的最大深度
一、题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 二、解题思路 递归,迭代 三、代码实现 ...
2019-05-28 08:32:21
235
原创 LeetCode刷题-合并两个有序数组
一、题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 num...
2019-05-27 08:37:39
244
原创 LeetCode刷题-爬楼梯
一、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 ...
2019-05-25 16:32:10
195
原创 LeetCode刷题-最大子序和
一、题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 二、解题思路 暴力求...
2019-05-25 08:48:41
278
原创 LeetCode刷题-有效的括号
一、题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: ...
2019-05-24 08:41:05
412
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅