自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 [leetcode] Python(35)--Fizz Buzz(412)、计数质数(204)、3的幂(326)、罗马数字转整数(13)

从零开始的力扣(第三十五天)~1.Fizz Buzz写一个程序,输出从 1 到 n 数字的字符串表示。如果 n 是3的倍数,输出“Fizz”;如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[“1”,“2”,“Fizz”,“4”,“Buzz”,“Fizz”,“7”,“8”,...

2019-06-27 19:32:45 414

原创 [leetcode] Python(34)--买卖股票的最佳时机(121)、最大子序和(53)、打家劫舍(198)、打乱数组(384)

从零开始的力扣(第三十四天)~1.买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时...

2019-06-27 13:09:36 250

原创 [leetcode] Python(33)--验证二叉搜索树(98)、将有序数组转换为二叉搜索树(108)、删除链表中的节点(237)、合并两个有序数组(88)

从零开始的力扣(第三十三天)~1. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:示例 2:—————————————————————————————————————————最开始想法是递归左子树与右子...

2019-06-26 17:32:16 237

原创 [leetcode] Python(32)--四数之和(18)、回旋镖的数量(447)、直线上最多的点数(149)、存在重复元素 III(220)

从零开始的力扣(第三十二天)~1.四数之和给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 targe...

2019-06-21 17:24:08 222

原创 [leetcode] Python(31)--第K个语法符号(779)、不同的二叉搜索树 II(95)、根据字符出现频率排序(451)、三数之和(15)

从零开始的力扣(第三十一天)~1.第K个语法符号在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。给定行数 N 和序数 K,返回第 N 行中第 K个字符。(K从1开始)例子:输入: N = 1, K = 1输出: 0输入: N = 2, K = 1输出: 0输入: N = 2, K = 2输出: 1输入: N = 4, K = 5输出: 1...

2019-06-13 09:58:30 248

原创 [leetcode] Python(30)--二叉树的序列化与反序列化(297)、两两交换链表中的节点(24)、斐波那契数(509)、爬楼梯(70)

从零开始的力扣(第三十天)~1.二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为...

2019-06-11 12:44:12 135

原创 [leetcode] Python(29)--填充每个节点的下一个右侧节点指针(116)、填充每个节点的下一个右侧节点指针 II(117)、二叉树的最近公共祖先(236)

从零开始的力扣(第二十九天)~1.填充每个节点的下一个右侧节点指针给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 ...

2019-06-10 22:13:18 289

原创 [leetcode] Python(28)--对称二叉树(101)、路径总和(112)、从中序与后序遍历序列构造二叉树(106)、从前序与中序遍历序列构造二叉树(105)

从零开始的力扣(第二十八天)~1.对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。—————————————————————————————————————————迭代法操作,只是迭代...

2019-06-10 16:18:10 203

原创 [leetcode] Python(27)--分割数组的最大值(410)、二叉树的前序遍历(144)、二叉树的后序遍历(145)、二叉树的层次遍历(102)、二叉树的最大深度(104)

从零开始的力扣(第二十六天)~1.分割数组的最大值给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将n...

2019-06-05 19:14:10 226

原创 [leetcode] Python(26)--寻找旋转排序数组中的最小值 II(154)、寻找重复数(287)、寻找两个有序数组的中位数(4)、找出第 k 小的距离对(719)

从零开始的力扣(第二十六天)~1.寻找旋转排序数组中的最小值 II假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例 2:输入: [2,2,2,0,1]输出: 0说明:这道题是 ...

2019-06-01 12:47:30 284

原创 [leetcode] Python(25)--找到 K 个最接近的元素(658)、Pow(x, n)(50)、有效的完全平方数(367)、寻找比目标字母大的最小字母(744)

从零开始的力扣(第二十五天)~1.找到 K 个最接近的元素给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。示例 1:输入: [1,2,3,4,5], k=4, x=3输出: [1,2,3,4]示例 2:输入: [1,2,3,4,5], k=4, x...

2019-05-30 15:39:03 948

原创 [leetcode] Python(24)--第一个错误的版本(278)、寻找峰值(162)、寻找旋转排序数组中的最小值(153)、在排序数组中查找元素的第一个和最后一个位置(34)

从零开始的力扣(第二十四天)~1.第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来...

2019-05-28 13:13:36 167

原创 [leetcode] Python(23)--二分查找(704)、x 的平方根(69)、猜数字大小(374)、搜索旋转排序数组(33)

从零开始的力扣(第二十三天)~1.二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums ...

2019-05-27 17:17:31 453

原创 [Python教程] 各大排序算法总结

内容列表排序算法1.冒泡排序2.选择排序3.插入排序4.希尔排序5.快速排序6.归并排序7.堆排序堆堆排序节点访问和操作定义堆节点的访问堆操作总结排序算法1.冒泡排序依次比较两个数大小,游标从前向后走,一次冒泡将最大元素移至末尾,以工作n - 1次冒泡。def bubble_sort(alist): n = len(alist) for i in range(n -1):...

2019-05-27 11:45:28 219

原创 [TensorFlow] Python 从基础到项目学习笔记No.3

内容列表TensorFlow框架解决MNIST数字识别MNIST数据处理TensorFlow训练神经网络TensorFlow框架解决MNIST数字识别MNIST数据集一般是新手第一个接触的数据集,我目前也打算从这个数据集进一步了解TensorFlow的框架,开搞!MNIST数据处理MNIST 是一个非常有名的手写体数字识别数据集, TensorFlow 的封装让使用 MNIST 数据集变得...

2019-05-24 21:54:54 183

原创 [leetcode] Python(22)--宝石与石头(771)、无重复字符的最长子串(3)、四数相加 II(454)、前K个高频元素(347)、常数时间插入、删除和获取随机元素(380)

从零开始的力扣(第二十二天)~1.宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入...

2019-05-24 11:49:27 237

原创 [leetcode] Python(21)--同构字符串(205)、两个列表的最小索引总和(599)、存在重复元素 II(219)、字母异位词分组(49)

从零开始的力扣(第二十一天)~1.同构字符串给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo...

2019-05-23 13:32:15 220

原创 [leetcode] Python(20)--设计哈希集合(705)、设计哈希映射(706)、两个数组的交集(349)、快乐数(202)

从零开始的力扣(第二十天)~PS.才发现leetcode有些题只有会员才能做了,难道要弃扣从牛了吗

2019-05-22 21:25:01 403

原创 [leetcode] Python(19)--两数相加(2)、扁平化多级双向链表(430)、复制带随机指针的链表(138)、旋转链表(61)

从零开始的力扣(第十九天)~1.两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> ...

2019-05-13 16:20:10 179

原创 [leetcode] Python(18)--反转链表(206)、移除链表元素(203)、奇偶链表(328)、回文链表(234)、合并两个有序链表(21)

从零开始的力扣(第十八天)~1.反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?—————————————————————————————————————————暴力反转,两次循环,时间...

2019-05-12 22:00:59 195

原创 [leetcode] Python(17)--设计链表(707)、环形链表(141)、环形链表 II(142)、相交链表(160)、删除链表的倒数第N个节点(19)

从零开始的力扣(第十七天)~1.设计链表设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 inde...

2019-05-08 20:00:20 197

原创 [TensorFlow] Python 从基础到项目学习笔记No.2

内容列表TensorFlow搭建深层神经网络TensorFlow内置激活函数TensorFlow损失函数经典损失函数分类问题回归问题自定义损失函数TensorFlow神经网络优化算法学习率的设置防止过拟合小结TensorFlow搭建深层神经网络鉴于之前彻底的讲过神经网络的具体内容,本笔记就不过多赘述神经网络的构造了,只针对TensorFlow内部算法与函数介绍。TensorFlow内置激活函...

2019-05-07 17:10:15 239

原创 [TensorFlow] Python 从基础到项目学习笔记No.1

刚刚做完一个项目,使用的Keras+TensorFlow框架,但是主题语言大多是用Keras写的,因为Keras封装的很好,总觉得写起来比较简单,想系统的学习一个主流框架的使用方式,目前主流框架有TensorFlow、Pytorch、Caffe等等,经过多方面考虑,打算系统学习TensorFlow,大打下较好的基础,从今天开始!内容列表TensorFlow环境搭建TensorFlow入门介绍...

2019-04-29 16:25:57 381

原创 [leetcode] Python(16)--长度最小的子数组(209)、杨辉三角 II(119)、翻转字符串里的单词(151)、反转字符串中的单词 III(557)

从零开始的力扣(第十六天)~1.长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法...

2019-04-27 15:29:55 153

原创 [leetcode] Python(15)--数组拆分 I(561)、两数之和 II - 输入有序数组(167)、移除元素(27)、最大连续1的个数(485)

从零开始的力扣(第十五天)~1.数组拆分 I给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整...

2019-04-26 22:08:52 332

原创 [Python教程] Python timeit模块使用解析

timeit模块------准确测量小段代码的执行时间timeit模块函数该模块定义了三个使用函数和一个公共类timeit.timeit(stmt=‘pass’, setup=‘pass’, timer=<default timer>, number=1000000)创建一个Timer实例,参数分别是stmt(需要测量的语句或函数),setup(初始化代码或构建环境的导入语句)...

2019-04-23 17:26:20 5764

原创 [leetcode] Python(14)--对角线遍历(498)、螺旋矩阵(54)、杨辉三角(118)、二进制求和(67)

从零开始的力扣(第十三天)~1.对角线遍历给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]解释:说明:给定矩阵中的元素总数不会超过 100000 。———————...

2019-04-22 15:23:33 614

原创 [leetcode] Python(13)--01 矩阵(542)、钥匙和房间(841)、寻找数组的中心索引(724)、至少是其他数字两倍的最大数(747)

从零开始的力扣(第十三天)~1.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注意:给定矩阵的元素个数不超过 10000。给...

2019-04-21 17:46:33 237

原创 [leetcode] Python(12)--字符串解码(394)、图像渲染(733)

从零开始的力扣(第十二天)~1.字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数...

2019-04-20 23:09:47 306

原创 [leetcode] Python(11)--二叉树中的中序遍历(94)、用栈实现队列(232)、用队列实现栈(225)

从零开始的力扣(第十一天)~1.二叉树中的中序遍历给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?—————————————————————————————————————————通过遍历所有左子节点,当左子节点不存在时,写入...

2019-04-15 12:12:14 355

原创 [leetcode] Python(10)--克隆图(133)、目标和(494)

从零开始的力扣(第十天)~1.克隆图给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node])。示例:解释:节点 1 的值是 1,它有两个邻居:节点 2 和 4 。节点 2 的值是 2,它有两个邻居:节点 1 和 3 。节点 3 的值是 3,它有两个邻居:节点 2 和 4 。节点 4 的值是 4...

2019-04-13 14:35:51 306

原创 [leetcode] Python(9)--最小栈(155)、有效的解答(20)、每日温度(739)、逆波兰表达式求值(150)

从零开始的力扣(第九天)1.最小栈设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);min...

2019-04-11 17:23:56 181

原创 [leetcode] Python(8)--设计循环队列(622)、岛屿的个数(200)、打开转盘锁(752)、完全平方数(279)

从零开始的力扣(第七天)~1.设计循环队列设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。...

2019-04-10 22:37:11 489

原创 [leetcode] Python(7)--验证回文串(125)、字符串转换整数 (atoi)(8)、实现strStr()(28)、报数(38)、最长公共前缀(14)

从零开始的力扣(第六天)~1.验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false———————————————————————————...

2019-04-09 21:48:29 257

原创 [leetcode] Python(6)--反转字符串(344)、整数反转(7)、字符串中的第一个唯一字符(387)、有效的字母异位词(242)

从零开始的力扣(第六天)~1.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“...

2019-04-08 22:57:23 257

原创 [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 13笔记

内容列表Lecture 13 Segmentation and Soft AttentionSegmentationSoft Attention小结Lecture 13 Segmentation and Soft Attention本章节主要介绍分割模型与注意力模型Segmentation分割模型其实也会分为两种,一种是只进行分割,将不同类别以像素级分别表示,另一种全分割就是在分割的基础上...

2019-04-08 19:31:07 827

原创 [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 12笔记

内容列表Lecture 12 Software PackagesCaffePytorchTheanoTensorFlow小结Lecture 12 Software Packages本章节介绍深度学习的常用框架,包括Caffe,TensorFlow,Pytorch等。CaffeCaffe是一个清晰而高效的深度学习框架,本节介绍caffe的优势、架构,网络定义、各层定义,Caffe的安装与配置...

2019-04-07 22:24:25 619

原创 [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 11笔记

内容列表Lecture 11 CNNs in PracticeTransfer Learning卷积的那些事卷积替换加速卷积计算更加高效的实行细节GPU浮点精度小结Lecture 11 CNNs in Practice本章节最先介绍了数据扩充的技巧,这个内容我在Lecture 6里介绍了,这里就不过多叙述了。Transfer Learning迁移学习(Transfer learning) ...

2019-04-07 14:34:05 485

原创 [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 10笔记

内容列表Lecture 9 Recurrent Neural NetworkRNNLSTM小结Lecture 9 Recurrent Neural NetworkRNN本章节主要探讨循环神经网络的内容,它与卷积神经网络略有不同,RNNs的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多...

2019-04-05 21:54:39 880

原创 [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 9笔记

内容列表Lecture 9 Understanding and Visualizing Convolution Neural Networks卷积神经网络内部可视化滤波器/卷积核可视化可视化中间激活层结果最大可视化某一类别Deep DreamNeural Style小结Lecture 9 Understanding and Visualizing Convolution Neural Netwo...

2019-04-04 11:35:52 494

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除