摘要: 511. 游戏玩法分析 I solution 512. 游戏玩法分析 II HAVING不行的原因 having子句执行在select 之后, 因此having中的字段必须在select子句中, event_date没有再select子句里,所以不行 534. 游戏玩法分析 III 另一种方法: 5 阅读全文
posted @ 2020-03-31 23:11 whiky 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 183.从不订购的客户 题目 184. 部门工资最高的员工 题目 185.部门工资前三高的员工 题目 解答 阅读全文
posted @ 2020-03-27 22:24 whiky 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 175.组合两个表 题目 Code on和where的区别: 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left join时,on和where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回 阅读全文
posted @ 2020-03-26 22:02 whiky 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 10 I. 斐波那契数列 方法一 Top down 用递归实现 阅读全文
posted @ 2020-03-25 22:09 whiky 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 14 1.剪绳子 方法一 动态规划 思路:递归式为f(n)=max(f(i), f(n i)),i=1,2,...,n 1 虽然我现在也没有彻底明白这个递归式是怎么来的,但用的时候还是要注意一下。f(i)是指长度为i时的最大乘积。 但是,上面关于f(i)的定义,当i=1,2,3时是不成立的。 因为, 阅读全文
posted @ 2020-03-22 22:28 whiky 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 62.圆圈中最后剩下的数字 题目 0,1,...,n 1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字 阅读全文
posted @ 2020-03-21 17:53 whiky 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 52.两个链表的第一个公共节点 方法一:双堆栈 思路:分别建立两个空堆栈stackA和stackB,headA、headB的节点分别依次存放入两个堆栈中。采用堆栈后进先出的性质,从后往前对比元素,并赋值给res,直到遇上不同元素,或者其中一个栈空了为止。 代码 结果 执行用时 :176 ms, 在所 阅读全文
posted @ 2020-03-19 15:25 whiky 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 25.合并两个排序的链表 题目 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1 2 4, 1 3 4 输出:1 1 2 3 4 4 方法一 迭代 时间复杂度O(n1+n2),空间复杂度O(1) 思路: 令cur = dum,不断比较l1与l2当前节点的 阅读全文
posted @ 2020-03-18 21:55 whiky 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 链表 6.从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 方法一 迭代 创建空列表res,将链表值head.val依次存进res,返回翻转后的res 代码 结果 执行用时 :44 ms, 在所有 Python3 提交中击败了81.86%的用户 内存消耗 :15 阅读全文
posted @ 2020-03-17 23:53 whiky 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 3.数组中的重复数字 题目 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 方法一 排序 现将序列排序,并找出与之后面相邻元素相等的元素 阅读全文
posted @ 2020-03-16 23:20 whiky 阅读(143) 评论(0) 推荐(0) 编辑