- 博客(173)
- 收藏
- 关注
原创 SQL刷题记录——176. 第二高的薪水
176. 第二高的薪水题目描述写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。+------------------
2020-10-20 17:16:45 301
原创 jupyter里面import安装好的包出错问题怎么办
jupyter notebook使用自己创建的虚拟环境问题原因解决流程问题原因anaconda是默认安装的jupyter,一般自己使用都是新建一个虚拟环境。用自己环境pip的包发现在jupyter里面import报错。出现No module found error。特此记录一下解决流程创建虚拟环境: condacreate-n 环境名 python=版本号例如创建一个叫做dl的虚拟环境,python版本为3.7: condacreate-n dl python=3.7激活虚拟
2020-10-07 21:27:45 1144
原创 快速排序
快速排序1.算法描述快速排序(quick-sort)使用了分治法的思想。下面是对一个一般的子数组A[p~r]进行快速排序的流程图。其核心思想是,选取一个元素作为“基准”,然后利用“基准数”将列表分成两部分,然后逐步递归。(a)将最后一个元素作为“基准”数,初始化i=p−1i = p - 1i=p−1, 为什么是p-1呢,因为通过p和i的距离来表示子数组中小于“基准”的部分,即灰色部分。(b)-(h) 通过j来遍历数组,如果遍历中存在小于“基准”数的部分,说明要给灰色部分+1,那么i+=1并且交换
2020-09-15 19:12:25 318
原创 LeetCode刷题记录——面试题(旋转矩阵)
题目描述给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9,11],[ 2, 4, 8,10],[13, 3, 6, 7],[15,14,12,16]],
2020-07-29 19:08:25 286
原创 LeetCode刷题记录——第56题(合并两个有序数组)
题目描述给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路分析核心思路:按照每个子列表中第0个元素进行排序,以示例1为例,比较3和2的大小,如果3大于2说明
2020-07-29 18:34:06 235
原创 机器学习的爹——如何成为SVM的爹
SVM的爹1.SVM的直观理解1.1 从Logistic到SVM1.2 最大间隔1.SVM的直观理解1.1 从Logistic到SVM令z=θTxz = \theta^{T}xz=θTx ,logistic回归想做的,是当yyy = 1时,hθ(x)h_\theta \left( x \right)hθ(x)趋近于1,zzz远大于0;同样的当yyy = 0时,hθ(x)h_\theta ...
2019-12-18 19:28:55 175
原创 机器学习的爹——如何成为Logistic的爹
Logistic回归的爹Logistic回归简介1.多个角度理解Logistic1.1 吴恩达老师的解释功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowc...
2019-11-29 14:14:41 183
原创 LeetCode刷题记录——第160题(相交链表)
题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1输出:Reference of the node with value = 2输入解释:相交节点的值为 2 (注意,如...
2019-06-28 16:16:20 274
原创 LeetCode刷题记录——第141题(环形链表)
题目描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2输入:head = [1,2], pos = 0输出:...
2019-06-24 20:15:57 302
原创 LeetCode刷题记录——第707题(设计链表)
题目描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则...
2019-06-23 11:26:30 486
原创 LeetCode刷题记录——第622题(设计循环队列)
题目描述设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyC...
2019-06-21 21:03:46 313
原创 LeetCode刷题记录——第287题(寻找重复数)
题目描述给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 ...
2019-05-16 20:14:19 239
原创 LeetCode刷题记录——第34题(在排序数组中查找元素的第一个和最后一个位置)
题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,1...
2019-05-10 17:47:33 251
原创 LeetCode刷题记录——第50题(Pow(x, n))
题目描述实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100....
2019-05-10 17:24:59 188
原创 LeetCode刷题记录——第153题(寻找旋转排序数组中的最小值)
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6,7,0,1,2]输出: 0思路分析首先,核心是:只有一次旋转,所以一定有一边...
2019-04-30 22:01:30 240
原创 LeetCode刷题记录——第33题(搜索旋转排序数组)
题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [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-04-24 23:33:07 517
原创 LeetCode刷题记录——第118题(杨辉三角)
题目描述给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]思路分析第一步,根据给定的numRows,初始化相应的二维数组第二部,根据杨辉三角的规则,填充相应的数,对内层的每个列表来说,re...
2019-04-16 16:27:53 261
原创 LeetCode刷题记录——第54题(螺旋矩阵)
题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路分析这个问题其实非常简单,但是我们要考虑好边界问题。黄色箭头区域【x1,x2+1】浅红色箭头区域【y1+1,y2+1】绿色箭头区域【...
2019-04-13 21:57:44 563
原创 LeetCode刷题记录——第498题(对角线遍历)
题目描述给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]解释:思路分析number 记录当前还需要放入结果列表的数有多少个首先分析向右上方遍历的情况– 1....
2019-04-13 16:49:53 348
原创 LeetCode刷题记录——第2题(两数相加)
题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...
2019-04-09 09:24:15 159
原创 LeetCode刷题记录——第4题(寻找两个有序数组的中位数)
题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是...
2019-04-07 15:48:33 222
原创 LeetCode刷题记录——第3题(无重复字符的最长子串)
题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子...
2019-04-06 21:46:48 273
原创 LeetCode刷题记录——第1018题(可被5整除的二进制前缀)
题目描述给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 true,否则为 false。示例 1:输入:[0,1,1]输出:[true,false,false]解释:输入数字为 0, ...
2019-04-03 11:54:53 285
原创 LeetCode刷题记录——第1013题(将数组分成和相等的三个部分)
题目描述给定一个整数数组 A,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果我们可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分。示例 1...
2019-04-03 11:48:57 492 1
原创 LeetCode刷题记录——第1010题(总持续时间可被60整除的歌曲)
题目描述在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i < j 且有 (time[i] + time[j]) % 60 == 0。示例 1:输入:[30,20,150,100,40]输出:3解释:这三对的总持续时间可被 60 整数:(time[0] = 30, tim...
2019-04-03 00:31:11 428
原创 LeetCode刷题记录——第1009题(十进制整数的反码)
题目描述每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 “101”,11 可以用二进制 “1011” 表示,依此类推。注意,除 N = 0 外,任何二进制表示中都不含前导零。二进制的反码表示是将每个 1 改为 0 且每个 0 变为 1。例如,二进制数 “101” 的二进制反码为 “010”。给定十进制数 N,返回其二进制表示的反码所对应的十进制整数。示例 1:输入:...
2019-04-03 00:04:30 238
原创 LeetCode刷题记录——第1005题(K次取反后的最大的数组和)
题目描述给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。)以这种方式修改数组后,返回数组可能的最大和。示例 1:输入:A = [4,2,3], K = 1输出:5解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。示例 2:输入:A = [...
2019-04-01 17:13:13 205
原创 LeetCode刷题记录——第1002题(查找常用字符)
题目描述给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:[“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:[“cool”,“loc...
2019-04-01 16:35:09 609
原创 LeetCode刷题记录——第985题(查询后的偶数和)
题目描述给出一个整数数组 A 和一个查询数组 queries。对于第 i 次查询,有 val = queries[i][0], index = queries[i][1],我们会把 val 加到 A[index] 上。然后,第 i 次查询的答案是 A 中偶数值的和。(此处给定的 index = queries[i][1] 是从 0 开始的索引,每次查询都会永久修改数组 A。)返回所有查询的...
2019-03-31 11:47:24 127
原创 LeetCode刷题记录——第976题(三角形的最大周长)
题目描述给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:8提示:3 <= A.length...
2019-03-30 00:21:30 449
原创 LeetCode刷题记录——第961题(重复N次的元素)
题目描述在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N 次的那个元素。示例 1:输入:[1,2,3,3]输出:3示例 2:输入:[2,1,2,5,3,2]输出:2示例 3:输入:[5,1,5,2,5,3,5,4]输出:5思路分析用字典记录各元素出现的次数遍历字典,如果存在满足要求的元素,就返回它,很ni...
2019-03-30 00:05:38 173
原创 LeetCode刷题记录——第953题(验证外星语字典)
题目描述某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。示例 1:输入:words = [“hello”,“leetcode”], order = “hlabcdefgij...
2019-03-28 14:23:16 499
原创 LeetCode刷题记录——第949题(给定数字能组成的最大时间)
题目描述给定一个由 4 位数字组成的数组,返回可以设置的符合 24 小时制的最大时间。最小的 24 小时制时间是 00:00,而最大的是 23:59。从 00:00 (午夜)开始算起,过得越久,时间越大。以长度为 5 的字符串返回答案。如果不能确定有效时间,则返回空字符串。示例 1:输入:[1,2,3,4]输出:“23:41”示例 2:输入:[5,5,5,5]输出:""...
2019-03-28 09:37:00 465
原创 LeetCode刷题记录——第942题(增减字符串匹配)
题目描述给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有:如果 S[i] == “I”,那么 A[i] < A[i+1]如果 S[i] == “D”,那么 A[i] > A[i+1]示例 1:输出:“IDID”输出:[0,4,1,3,2]...
2019-03-27 20:56:34 138
原创 LeetCode刷题记录——第941题(有效的山脉数组)
题目描述给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] > ...
2019-03-27 20:28:35 322
原创 LeetCode刷题记录——第929题(独特的电子邮件地址)
题目描述每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 ‘.’ 或 ‘+’。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(’.’),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,"alice.z@le...
2019-03-26 10:21:53 402
原创 LeetCode刷题记录——第925题(长按键入)
题目描述你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = “alex”, typed = “aaleex”输出:true解释:‘alex’ 中的 ‘a’ 和 ‘e’ ...
2019-03-25 10:52:46 197
原创 LeetCode刷题记录——第922题(按奇偶排序数组 II)
题目描述给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A.len...
2019-03-25 10:36:05 120
原创 LeetCode刷题记录——第917题(仅仅反转字母)
题目描述给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:“ab-cd”输出:“dc-ba”示例 2:输入:“a-bC-dEf-ghIj”输出:“j-Ih-gfE-dCba”示例 3:输入:“Test1ng-Leet=code-Q!”输出:“Qedo1ct-eeLg=ntse-T!”思路分析...
2019-03-24 20:54:33 169
原创 LeetCode刷题记录——第914题(卡牌分组)
题目描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入...
2019-03-24 20:51:29 521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人