自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 [剑指 offer]--动态规划--剑指 Offer 63. 股票的最大利润

1 题目描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <= 数组长

2020-07-27 20:40:06 131

转载 [剑指 offer]--后序遍历DFS-- 面试题68 - II. 二叉树的最近公共祖先

1 题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点

2020-07-27 20:13:37 129

转载 [ 热题 HOT 100]---581. 最短无序连续子数组 ---双指针(升级版)

1 题目描述给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在 [1, 10,000]。输入的数组可能包含重复元素 ,所以升序的意思是<=。来源:力扣(LeetCode)链接:https:

2020-07-12 10:31:20 165

转载 [ 热题 HOT 100]---617. 合并二叉树 --- 递归

1 题目描述给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-binary-trees著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路方法一:递

2020-07-11 10:12:01 171

转载 [ 热题 HOT 100]---543. 二叉树的直径 --- 递归

1 题目描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。2 解题思路3 解决代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; }

2020-07-11 09:41:01 154

转载 [ 热题 HOT 100]---把二叉搜索树转换为累加树-- 反向中序遍历

1 题目描述给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路解决方法:反向中序遍历BST的中序遍历就是从小到大,那么反过来就是从大到小

2020-07-11 08:51:30 133

转载 [ 热题 HOT 100]---239. 滑动窗口最大值(hard级别)--- 双端队列

1 题目描述给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sliding-window-maximum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路解决方法:双端队列算法非常

2020-07-10 08:32:08 167

转载 【数据库】626. 换座位 -- csae ...when 语句

1 题目描述小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。其中纵列的 id 是连续递增的小美想改变相邻俩学生的座位。你能不能帮她写一个 SQL query 来输出小美想要的结果呢?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/exchange-seats著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路对于所有座位 id 是奇数的学生,修改

2020-07-09 15:16:30 212

转载 【数据库】--- 627. 交换工资--- case......when语句

1 题目描述2 解题思路用case…whencase用法: case a when cond1 then exp1 else cond2 then exp2 else exp3当a满足条件cond1时, 返回exp1 当a满足条件cond2时, 返回exp2 否则 返回exp33 解决代码# Write your MySQL query statement belowupdate salaryset sex = ( case sex when'm' then 'f'

2020-07-08 17:22:57 172

转载 【数据库】--- 620. 有趣的电影---不包含!=

1 题目描述某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/not-boring-movies著作权归领扣网络所有。商业转载请联系官方授权

2020-07-08 17:11:21 303

转载 【数据库】 596. 超过5名学生的课 --- groupby + count + distinct

1 题目描述有一个courses 表 ,有: student (学生) 和 class (课程)。请列出所有超过或等于5名学生的课。2 解题思路极致优化,一层查询,利用 GROUP BY 为 CLASS 分组后,直接用 COUNT() 统计每组学生个数,在统计前先用 #DISTINCT 去掉重复学生3 解决代码# Write your MySQL query statement below-- select A.class-- from (select distinct * fr

2020-07-08 16:44:45 297

转载 [ 热题 HOT 100]---337. 打家劫舍 III -- 暴力递归+终极解法(最优化)

1 题目描述在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。2 解题思路解法一:暴力递归–最优子结构方法三:终极解法:最优化3 解决代码解题思路和代码来自于王小二题解:三

2020-07-08 15:38:14 307

转载 [ 热题 HOT 100]---322. 零钱兑换 --- 动态规划

1 题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可以认为每种硬币的数量是无限的。来源:力扣(LeetCode)链接:https://leetcode-

2020-07-08 15:25:31 556

转载 【数据库】---595. 大的国家 --- 普通查询

1 题目描述2 解题思路害!最简单的题目,没有之一,简单哭了,就是个普通查询3 解决代码# Write your MySQL query statement belowselect name, population, areafrom worldwhere population > 25000000 or area >3000000...

2020-07-06 20:07:29 119

转载 【数据库】--- 197. 上升的温度 ---delete语句

1 题目描述2 解题思路DATEDIFF是两个日期的天数差集里面加参数,用来表示后面的那个减前面的那个3 解决代码# Write your MySQL query statement belowselect w1.idfrom weather w1,weather w2where datediff(w1.recorddate, w2.recorddate) = 1and w2.temperature < w1.temperature...

2020-07-06 20:04:35 126

转载 【数据库】196. 删除重复的电子邮箱 --- delete语句

1 题目描述2 解题思路没想到delete还有这种用法:就是删除两个连接以后的表其中的一个表。按照这个思路,使用join进行两个表的自连接,连接条件是【邮箱相同的条件下,表1的所有Id号码都大于表2的Id】,从而得到的结果就是:P2表保留了Id最小的邮箱。因此,只需要删除P1表即满足题意。3 解决代码# Write your MySQL query statement belowdelete p1from person p1, person p2on p1.email = p2.

2020-07-06 19:59:37 471

转载 [ 热题 HOT 100]---448. 找到所有数组中消失的数字 ---哈希表/原地修改(秀的头皮发麻)

1 题目描述给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-nu

2020-07-06 16:10:22 1422

转载 [ 热题 HOT 100]---287. 寻找重复数 --- 快慢指针//转化为找链表出口

1 题目描述给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。来源:力扣(LeetCode)链接:htt

2020-07-06 08:56:02 132

转载 [ 热题 HOT 100]---283. 移动零---双指针+数组遍历

1 题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路方法一:两次遍历两次遍历我们创建

2020-07-06 08:50:34 199

转载 【数据库】 181. 超过经理收入的员工

1 题目描述2 解题思路官方题解:超过经理收入的员工表格里存有每个雇员经理的信息,我们也许需要从这个表里获取两次信息。SELECT *FROM Employee AS a, Employee AS b;从两个表里使用 Select 语句可能会导致产生 笛卡尔乘积 。在这种情况下,输出会产生 4*4=16 个记录。然而我们只对雇员工资高于经理的人感兴趣。所以我们应该用 WHERE 语句加 2 个判断条件。3 解决代码# Write your MySQL query statement

2020-07-04 14:33:28 140

转载 【数据库】 180. 连续出现的数字

1 题目描述2 解题思路方法:用 DISTINCT 和 WHERE 语句连续出现的意味着相同数字的 Id 是连着的,由于这题问的是至少连续出现 3 次,我们使用 Logs 并检查是否有 3 个连续的相同数字。作者:LeetCode链接:https://leetcode-cn.com/problems/consecutive-numbers/solution/lian-xu-chu-xian-de-shu-zi-by-leetcode/来源:力扣(LeetCode)著作权归作者所有。商

2020-07-04 14:29:22 3394

转载 【数据库】178. 分数排名

1 题目描述2 解题思路这个真的不太懂哦。。。3 解决代码# Write your MySQL query statement belowselect s1.Score,count(distinct s2.Score) `Rank`from Scores s1left join Scores s2on s1.Score <= s2.Scoregroup by s1.Idorder by s1.Score desc...

2020-07-04 14:25:43 180

转载 [ 热题 HOT 100]---221. 最大正方形---动态规划

1 题目描述2 解题思路动态规划的想法来自于力扣题解,链接为理解 三者取最小+1解决方法:动态规划此时已可得到递推公式// 伪代码if (grid[i - 1][j - 1] == '1') { dp[i][j] = min(dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]) + 1;}作者:lzhlyle链接:https://leetcode-cn.com/problems/maximal-square/solution/li

2020-07-04 10:37:44 2570

转载 [ 热题 HOT 100]---215. 数组中的第K个最大元素---内置函数/手写排序

1 题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-largest-elem

2020-07-04 10:31:18 2279

转载 [ 热题 HOT 100] ---238. 除自身以外数组的乘积

1 题目描述给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。来源:力扣(LeetCode)链接:https://leetcode-cn

2020-07-03 17:26:45 116

转载 [ 热题 HOT 100] ---234. 回文链表 ---双指针

1 题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2 解题思路3 解决代码在这

2020-07-03 16:57:03 129

转载 【数据库】176. 第二高的薪水 ➕ 177. 第N高的薪水

1 题目描述第二高的薪水第N高的薪水2 解题思路第二高的薪水1 )考虑到薪水可能有一样的值,所以使用distinct 薪水进行薪水去重。思路:使用 limit 和 offsetlimit n子句表示查询结果返回前n条数据offset n表示跳过x条语句limit y offset x 分句表示查询结果跳过 x 条数据,读取前 y 条数据LIMIT X,Y 表示跳过X个数据,读取Y个数据 2.LIMIT X OFFSET Y,OFFSET Y 表示跳过

2020-07-03 11:16:50 138

转载 【数据库】 175. 组合两个表 ---左右连接

1 题目描述2 解题思路因为表 Address 中的 personId 是表 Person 的外关键字,所以我们可以连接这两个表来获取一个人的地址信息。考虑到可能不是每个人都有地址信息,我们应该使用 outer join 而不是默认的 inner join。这个题目要选择用左连接。题目说:1)无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息: FirstName, LastName, City, State也就是说,地址信息(City, State)的

2020-07-03 11:05:57 253

转载 [ 热题 HOT 100]---226. 翻转二叉树 --- 递归

1 题目描述2 解题思路方法:递归反转二叉树的意思就是将树的左右子树进行反转,这是一个重复的 过程,所以很简单的就会联想到递归解法。这个地方的反转其实就是指的交换,所以就是常规的交换写法➕递归方法3 解决代码方法:递归 《Java代码》/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode

2020-07-02 08:39:28 143

空空如也

空空如也

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

TA关注的人

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