LeetCode
三生锁链
希望这是我在计算机一步一步成长的证明!
展开
-
LeetCode #627 交换工资
https://leetcode-cn.com/problems/swap-salary/description/吐槽一下:题目应该是交换性别吧!!!条件更新,男女性别交换。用set = case,when 条件 then 修改值,end这样的语法去判断条件以及更新对应值update salary set sex = case when sex = 'm' then 'f' ...原创 2018-06-23 13:39:48 · 299 阅读 · 0 评论 -
LeetCode #14. 最长公共前缀 String
https://leetcode-cn.com/problems/longest-common-prefix/description/1.算出字符串数组的最短字符串长度2.判断所有字符串对应的下标的字符是否相等,不相等直接退出二重循环class Solution { public String longestCommonPrefix(String[] strs) { S...原创 2018-06-30 20:05:18 · 170 阅读 · 0 评论 -
LeetCode #3.无重复字符的最长子串 贪心 JAVA
吐槽一下:不给数据范围是几个意思……https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/用JAVA写工程还挺有意思的思路:贪心求最长无重复字符的子串从头开始遍历,没出现过的字符就用数组 isExises 标记,然后计数器加1。对于出现过的字符再次出现表示当前算的子串(...原创 2018-06-26 17:24:21 · 209 阅读 · 0 评论 -
LeetCode #1. 两数之和 循环
https://leetcode-cn.com/problems/two-sum/description/直接两重循环找到两个目标值,返回,结束……class Solution { public int[] twoSum(int[] nums, int target) { int di[] = new int[2]; OK: ...原创 2018-06-26 17:27:21 · 129 阅读 · 0 评论 -
LeetCode #2. 两数相加 链表
https://leetcode-cn.com/problems/add-two-numbers/description/今年春招时,我学长被问到这道题,明明是一道简单得一匹的题,但HR的语言表达能力实在是让人无力吐槽,这让我对明年的春招表示有点haipia。思路:用链表模拟两个数字加法,注意一下进位以及加位的情况就好了。我刚刚开始用JAVA,写的代码自己看着都觉得丑……(逃/** * Defi...原创 2018-06-26 17:32:55 · 153 阅读 · 0 评论 -
LeetCode #7. 反转整数 整型和字符串的互换
https://leetcode-cn.com/problems/reverse-integer/description/思路: 把传入的整型的绝对值转换为字符串,然后再把这个字符串转换为整型,判断正负就返回相应值。注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 喵的,一开始没看...原创 2018-06-26 18:28:01 · 187 阅读 · 0 评论 -
LeetCode #9. 回文数 StringBuffer
https://leetcode-cn.com/problems/palindrome-number/description/ String的equals方法因为重写了Object的equals方法,所以可以比较字符串的内容,而StringBuffer因为没重写equals方法,直接继承了Object的equals方法,所以不行。 可以使用toString() 方法将StringBuf...原创 2018-06-26 18:37:02 · 191 阅读 · 0 评论 -
LeetCode #12. 整数转罗马数字 TreeMap
https://leetcode-cn.com/problems/integer-to-roman/description/1.弄两个数组,位置上相应的罗马数字对应相应阿拉伯数字2.用TreeMap存储数据,更改排序为按照Key降序3.循环存入TreeMap4.按照除法和求余逐步得到最终的罗马数字import java.util.Comparator;import java.util.Itera...原创 2018-07-01 22:20:04 · 170 阅读 · 0 评论 -
LeetCode #13. 罗马数字转整数 HashMap
https://leetcode-cn.com/problems/roman-to-integer/description/权当学一下HashMapimport java.util.HashMap;import java.util.Map;class Solution { public int romanToInt(String s) { HashMap<C...原创 2018-06-26 19:51:56 · 206 阅读 · 0 评论 -
LeetCode #6. Z字形变换 字符串处理
https://leetcode-cn.com/problems/zigzag-conversion/description/行数为1的直接返回原串其他情况:设行数个空字符串,遍历原串,按照Z字型循环把字符塞进对应串,最后把串直接加起来就是结果串啦!class Solution { public String convert(String s, int numRows) { ...原创 2018-06-27 20:41:32 · 239 阅读 · 0 评论 -
LeetCode #20. 有效的括号
https://leetcode-cn.com/problems/valid-parentheses/description/解:用一个栈来存储没匹配的括号每当遇到一种右括号,就判断栈顶括号是否能和该括号匹配,能就出栈并继续判断下一个字符,不能就返回false在匹配过程中要注意栈可能已空(没有左括号)的情况,例如:1.整个字符串只有右括号;2.整个字符串只有左括号最后只有当栈为空的情况才是所有括号...原创 2018-07-09 22:38:17 · 168 阅读 · 0 评论 -
LeetCode #8.字符串转整数 (atoi) 模拟
https://leetcode-cn.com/problems/string-to-integer-atoi/description/1.判断字符串长度,等于0表示空串,返回02.去掉前导空格字符,判断索引是否大于等于字符串长度,是就返回03.初始非空字符不是数字或正负号的返回0,tag记录正负符号4.循环数字子串,goal × 10 + 新个位,这条公式计算数值5.按正负、溢出分类返回相应值c...原创 2018-06-30 19:07:39 · 158 阅读 · 0 评论 -
LeetCode #196 删除重复的电子邮箱
https://leetcode-cn.com/problems/delete-duplicate-emails/description/删除p1表,p1 和 p2 表的 Email 相等并且 p1 表的 Id 比 p2 表的 Id 大delete p1 from Person p1,Person p2where p1.Email = p2.Emailand p1.Id > p2.Id...原创 2018-06-23 21:11:34 · 747 阅读 · 0 评论 -
LeetCode #182 查找重复的邮箱
https://leetcode-cn.com/problems/duplicate-emails/description/直接group by分组然后count统计得到结果select Email from Person group by Email having count(*) > 1;原创 2018-06-23 13:42:48 · 303 阅读 · 0 评论 -
LeetCode #183 从不订购的客户
https://leetcode-cn.com/problems/customers-who-never-order/description/NOT IN查找Customers 表中没有出现过在Orders 表中的CustomerId 字段的值select Name as Customers from Customers where Id not in (select CustomerId fro...原创 2018-06-23 13:45:40 · 144 阅读 · 0 评论 -
LeetCode #177第N高的薪水
https://leetcode-cn.com/problems/nth-highest-salary/description/看起来好像是上一道题的延伸,感觉循环一波好像也能干,但是仔细一想,万一表的元组很多呢?换个思路:先对表进行降序排序,然后查询前N个元组,最后从结果中再查询最后一个元组就是答案了。limit 函数一个参数时代表查询数量两个参数时,第一个参数代表检索偏移量(从0开始),第二个...原创 2018-06-19 12:14:30 · 620 阅读 · 0 评论 -
LeetCode #176第二高的薪水
https://leetcode-cn.com/problems/second-highest-salary/description/查询第二高的数据,思路就是先找到最大值,然后在剩下的数据里找到比最大值要小的最大值。一开始我的做法是用ifnull函数,但默认值的数据类型会改变薪水的数据类型,ifnull(Salary,null)时遇到null不输出,ifnull(Salary,'null')时遇...原创 2018-06-19 11:57:14 · 588 阅读 · 0 评论 -
LeetCode #175组合两个表
https://leetcode-cn.com/problemset/database/满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 信息。这个条件刚好满足左连接的概念,获取person表所有记录,即使address表没有对应匹配的记录。所以直接用左连接联合两个表进行查询。select FirstName,LastName,City,State from Pe...原创 2018-06-19 11:50:41 · 317 阅读 · 0 评论 -
LeetCode #595 大的国家
https://leetcode-cn.com/problems/big-countries/description/where子查询,or 判断select name,population,area from World where area > 3000000 or population > 25000000;原创 2018-06-23 14:08:25 · 139 阅读 · 0 评论 -
LeetCode #620 有趣的电影
https://leetcode-cn.com/problems/not-boring-movies/description/mod(id,2)mysql求余函数oder by rating desc 排序,desc表示降序,默认是升序(asc)select * from cinema where mod(id,2)=1 and description != 'boring' order by r...原创 2018-06-23 14:13:03 · 241 阅读 · 0 评论 -
LeetCode #197 上升的温度
https://leetcode-cn.com/problems/rising-temperature/description/inner join 连接to_days(DATE) 将日期类型转换为公元0年0月0天到DATE的总天数select w1.Id from Weather w1 inner join Weather w2 on w1.Temperature > w2.Tempe...原创 2018-06-23 17:09:57 · 170 阅读 · 0 评论 -
LeetCode #181 超过经理收入的员工
https://leetcode-cn.com/problems/employees-earning-more-than-their-managers/description/表内查询用inner join连接as 改名e1.ManagerId = e2.Ide2表中的数据就只有e1表中ManagerId有值的行select e1.Name as Employee from Employee e1...原创 2018-06-23 17:20:18 · 389 阅读 · 0 评论 -
LeetCode #184 部门工资最高的员工
https://leetcode-cn.com/problems/department-highest-salary/description/找整张表中的最高薪水的员工就比较简单子查询先找到最大薪水值select Id,Name,Salary,DepartmentId from Employeewhere Salary = (select max(Salary) from Emplo...原创 2018-06-23 20:47:48 · 999 阅读 · 1 评论 -
LeetCode #21. 合并两个有序链表 递归
https://leetcode-cn.com/problems/merge-two-sorted-lists/description/合并两条有序链表,形成一条新的有序链表:用递归实现1.如果其中一条链表为空,那么只需要接上(返回)另一条链表即可2.两条链表都不为空的话就比较两条链当前位置的值大小。左链小,就用小值创建一个新结点到合并链上,合并链的下一个结点则递归调用函数合并除掉已添加的点后的两...原创 2018-07-09 22:47:37 · 300 阅读 · 0 评论