自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 104. 二叉树的最大深度

二叉树的最大深度方法一:递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int maxDepth(TreeNode root) { .

2020-06-03 12:52:12 133

原创 101. 对称二叉树

对称二叉树给定一个二叉树,检查它是否是镜像对称的。方法一:递归class Solution { public boolean isSymmetric(TreeNode root) { return check(root, root); } public boolean check(TreeNode p, TreeNode q) { if (p == null && q == null) { retu.

2020-06-03 11:10:55 116

原创 100. 相同的树

相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution.

2020-06-02 19:36:34 111

原创 88. 合并两个有序数组

合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6]方法一 : .

2020-06-02 17:52:02 168

原创 83. 删除排序链表中的重复元素

删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListN.

2020-06-01 16:17:30 84

原创 70. 爬楼梯

爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶方法一:递归: class Solution { public int climbStair..

2020-06-01 11:25:54 141

原创 69. x 的平方根

x 的平方根实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。方法:二分法Java 代码要注意到:如果中点 mid 声明为 int 类型,针对大整型测试用例通不过,因此变量需要声明为 long 类型,下同。事实上,只要单独照顾一下 00.

2020-05-31 17:23:40 86

原创 67. 二进制求和

二进制求和给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”方法一:使用内置函数的简单方法:将 a 和 b 转换为十进制整数。求和。将求和结果转换为二进制整数。parseInt函数是将字符串转换为10进制整数。假设 x=parseInt(a,b)a是要转换的字符串,b表示a是一.

2020-05-30 18:16:01 186

原创 66. 加一

加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思路:千万别忘记最后一位为9根据题意加一,没错就是加一这很重要,因为它是只加一的所以有可能的情况就只有两种:1.

2020-05-30 10:56:38 230

原创 58. 最后一个单词的长度

最后一个单词的长度给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5思路标签:字符串遍历1.从字符串末尾开始向前遍历,其中主要有两种情况2.第一种情况,以字符串"Hello World"为例,从后向前遍历直到遍历到头或者遇到空格为止,即为.

2020-05-29 22:01:06 95

原创 53. 最大子序和

最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路:这道题用动态规划的思路并不难解决,比较难的是后文提出的用分治法求解,但由于其不是最优解法,所以先不列出来动态规划的是首先对数组进行遍历,当前最大连续子序列和为.

2020-05-29 21:17:19 67

原创 38. 外观数列

外观数列外观数列是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 ..

2020-05-28 23:08:22 256

原创 35. 搜索插入位置

搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0方法一:二分查找class Solution { public int searchInsert(i.

2020-05-27 18:49:42 107

原创 28. 实现 strStr()

实现 strStr()实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是.

2020-05-27 17:44:00 121

原创 27. 移除元素

移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2,2,3.

2020-05-26 18:36:21 97

原创 26. 删除排序数组中的重复项

删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5.

2020-05-26 11:05:43 263

原创 21. 合并两个有序链表

合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int .

2020-05-25 23:40:24 83

原创 20. 有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true方法一:Map.contains

2020-05-25 21:20:11 103

原创 14. 最长公共前缀

14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。思路 :以第一个字符串为最大公共前缀,从...

2020-04-01 21:22:58 78

原创 13. 罗马数字转整数

13. 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,...

2020-04-01 18:18:52 145

原创 9. 回文数

9. 回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶...

2020-03-30 21:31:59 186

原创 7. 整数反转

7. 整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解答:java中...

2020-03-30 19:57:14 100

原创 1. 两数之和

1. 两数之和法一:for循环class Solution { public int[] twoSum(int[] nums, int target) { int[] a=new int[2]; for(int i=0;i<nums.length;i++){ for(int j=i+1;j<nums.length;j...

2020-03-28 22:01:49 67

原创 1179. 重新格式化部门表

1179. 重新格式化部门表部门表 Department:(id, month) 是表的联合主键。这个表格有关于每个部门每月收入的信息。月份(month)可以取下列值 [“Jan”,“Feb”,“Mar”,“Apr”,“May”,“Jun”,“Jul”,“Aug”,“Sep”,“Oct”,“Nov”,“Dec”]。编写一个 SQL 查询来重新格式化表,使得新的表中有一个部门 id 列和...

2020-03-27 17:50:33 218

原创 627. 交换工资

627. 交换工资给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没有中间的临时表。注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。运行你所编写的更新语句之后,将会得到以下表:方法一:条件判断,IF(condi...

2020-03-26 19:31:47 107

原创 626. 换座位

626. 换座位小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。其中纵列的 id 是连续递增的小美想改变相邻俩学生的座位。你能不能帮她写一个 SQL query 来输出小美想要的结果呢?示例:假如数据输入的是上表,则输出结果如下:注意:如果学生人数是奇数,则不需要改变最后一个同学的座位。解答:SELECT (CASE ...

2020-03-25 22:20:20 134

原创 620. 有趣的电影

620. 有趣的电影某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片,结果请按等级 rating 排列。例如,下表 cinema:对于上面的例子,则正确的输出是为:解...

2020-03-25 19:37:31 203

原创 596. 超过5名学生的课

596. 超过5名学生的课有一个courses 表 ,有: student (学生) 和 class (课程)。请列出所有超过或等于5名学生的课。例如,表:应该输出:方法一:使用 GROUP BY 和 HAVING 条件【通过】第一层先把原表的重复数据去掉(虽然例子中每个学生都不重复,但是测试用例里面会有重复的)得到表Aselect class from courses gro...

2020-03-25 10:30:13 113

原创 595. 大的国家

595. 大的国家这里有张 World 表如果一个国家的面积超过300万平方公里,或者人口超过2500万,那么这个国家就是大国家。编写一个SQL查询,输出表中所有大国家的名称、人口和面积。例如,根据上表,我们应该输出:解答:方法一:使用 WHERE 子句和 OR【通过】select name,population, area from World where World.area...

2020-03-23 21:45:20 65

原创 197. 上升的温度

197. 上升的温度给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。例如,根据上述给定的 Weather 表格,返回如下 Id:解答:DATEDIFF 函数,可以计算两者的日期差DATEDIFF(‘2007-12-31’,‘2007-12-30’); # 1DATEDIFF(‘2010-12-30’,‘2010-1...

2020-03-22 22:16:25 160

原创 196. 删除重复的电子邮箱

196. 删除重复的电子邮箱编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:提示:执行 SQL 之后,输出是整个 Person 表。使用 delete 语句。解答:SQL的删除是DELETE语句DELETE FROM 表名称 WHERE 列名称 =...

2020-03-21 21:04:36 167

原创 185. 部门工资前三高的所有员工

185. 部门工资前三高的所有员工Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。Department 表包含公司所有部门的信息。编写一个 SQL 查询,找出每个部门获得前三高工资的所有员工。例如,根据上述给定的表,查询结果应返回:IT 部门中,Max 获得了最高的工资,Randy 和 J...

2020-03-21 00:04:18 83

原创 184. 部门工资最高的员工

184. 部门工资最高的员工Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。Department 表包含公司所有部门的信息。编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据上述给定的表格,Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。思路:用JOIN子句内连接查询两个表,用G...

2020-03-19 23:01:36 134

原创 183. 从不订购的客户

183. 从不订购的客户某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。思路一:使用子查询和 NOT IN 子句select Customers.Name as Customers from Customers where Customers.Id not in (select a.Id as c fro...

2020-03-19 20:52:32 70

原创 182. 查找重复的电子邮箱

182. 查找重复的电子邮箱编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。解答:思路1:用笛卡尔积select distinct a.Email from Person as a ,Person as b where a.Email=b.Email and a.Id<>b.Id此方法虽然笨,但也恭喜菜鸟第一次成功完成了该题!思路二:使用 GR...

2020-03-17 21:44:18 74

原创 181. 超过经理收入的员工

181. 超过经理收入的员工Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。使用 JOIN 语句:算法实际上, JOIN 是一个更常用也更有效的将表连起来的办法,我们...

2020-03-16 23:31:29 85

原创 180. 连续出现的数字

180. 连续出现的数字【本题考点】• 本题考察的是连续出现,会有同学忽略“连续”二字• 从题目连续3次成绩相等,判断出“成绩相等”和“学号连续”这2个条件。考察构建“连续学号成绩相等”的思维构建能力“数据库中as主要作用是起别名,常规来说都可以省略,但是为了增加可读性,不建议省略。”解答:select distinct l1.Num as ConsecutiveNums...

2020-03-15 22:20:31 139

原创 178. 分数排名

178. 分数排名编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):解析:最后的结果包含两个部分,第一部分...

2020-03-14 23:35:26 106

原创 177. 第N高的薪水

177. 第N高的薪水方法一与二的区别:limit m,n;m代表从m+1条记录行开始检索,n代表取出n条数据。(m可设为0)如:SELECT * FROM 表名 limit 6,5;表示:从第7条记录行开始算,取出5条数据而limit m offset n 只是换了一下位置;故:是两种方式对比只是数字换了下位置而已,这样的话两种方式的意思是等同的。即 limit n,1等于 l...

2020-03-13 22:49:17 96

原创 176 第二高的薪水

176 第二高的薪水看到null 想到ifnull 函数IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。IFNULL() 函数语法格式为:IFNULL(expression, alt_value)意识到要去重复 所以 distinctLIMIT 子句可以被用于强制 SELECT ...

2020-03-12 22:33:29 128

空空如也

空空如也

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

TA关注的人

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