城志
城志
全部文章
题解
归档
标签
去牛客网
登录
/
注册
城志的博客
Hello World!
全部文章
/ 题解
(共21篇)
两链表是否有环+是否相交
1. 分析 来源:《程序员代码面试指南》(第2版)左程云 单链表是否有环 如果一个有环,一个没有,则肯定不想交 如果都没有环,找到相交点,参考 如果都有环,分三种情况: 情况一,环入口一致,相交点在入口前面 情况二,环入口不一致,且loop1 loop2在环中不连通,则不相...
左程云
java
链表
2020-02-19
0
1010
合并有序链表
1. 先处理头结点 1.1 分析 把两个链表中较小的头作为新链表的头 依次比较两个链表未合并部分的头,较小者插入新表的尾 处理未走到尽头的链表1.2 代码 public class Solution { public ListNode mergeTwoLists(ListNode l1, Li...
java
链表
leetcode
2020-02-19
39
1435
寻找链表中环的入口
1. 快慢指针+同速双指针 1.1 分析 先利用快慢指针判断是否有环,如果有,两者会在环中相遇。 再利用同速双指针,分别从相遇点和链表头出发,两者一定在环入口相遇。证明:快指针的路程:s1 = a + k1(b+c) + b慢指针的路程:s2 = a + k2(b+c) + b , 令k2 -...
剑指offer
java
链表
2020-02-18
0
866
删除链表中重复的结点
1. 辅助空间 1.1 分析 两次遍历链表。第一次遍历,将重复的值存入set。第二次遍历,如果set中存在,则在链表中删除。 1.2 代码 import java.util.HashSet; public class Solution { public ListNode deleteDupl...
剑指offer
java
链表
2020-02-18
0
658
分组和组内计数
1. 分析 分组,组内计数 count(emp_no) As t > 15 2. 代码 SELECT emp_no, COUNT(emp_no) AS t FROM salaries GROUP BY emp_no HAVING t > 15;
sql
2020-02-17
106
7030
inner join和from两表的区别
1. 分析 使用内联结和FROM并列两表都可以,但要注意新入职日期的匹配。 内联结和自联结的区别:内联结是取左右两张表的交集形成一个新表。FROM并列两表后仍然还是两张表。如果还要对新表进行操作则要用内连接。从效率上看应该FROM并列查询比较快,因为不用形成新表。2. 代码 SELECT e.em...
sql
2020-02-17
23
2221
inner join和outer join的区别
1. 分析 使用外部联结的左联结。内联结,两边表同时有对应的数据,即任何一边缺失数据就不显示。左联结,读取左边数据表的全部数据,即便右边表无对应数。即右表d中dept_no即使为NULL,也会读取左表e中的全部emp。 2. 代码 SELECT e.last_name, e.first_name, ...
sql
2020-02-17
141
6261
查找所有已经分配部门的员工的last_name和first_name以及dept_no
1. 分析 employees表中的dept_no有可能为NULL;但dep_emp表中的dept_no一定不为NULL,所以使用内部联结,去除dept_no为NULL的employees。 联结时,如果需要把dept_no=NULL的数据也列出,要使用外部联结 LEFT/RIGHT OUTER J...
sql
2020-02-17
77
7019
查找当前薪水详情以及部门编号dept_no
1. 分析 考察联接 注意结果中列的顺序,dept_no在后边 使用AS将表名写成别名缩短语句 2. 代码 SELECT s.*, d.dept_no FROM salaries AS s , dept_manager AS d WHERE s.to_date='9999-01-01' AND...
sql
2020-02-17
4
1979
反转部分单向链表
1. 分析 此题存在换头的可能。 先判断m、n是否合法,不合法则直接返回head。需要计算list length,过程中同时确定m-1(即mPre)和n+1(nNext)的位置。 循环反转m-n部分,先把m.next=nNext确定,而mPre.next需要反转结束后,根据m是否为头作不同选择。 ...
java
链表
leetcode
2020-02-17
5
1585
首页
上一页
1
2
3
下一页
末页