首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
细雨噜噜噜
获赞
1586
粉丝
18
关注
1
看过 TA
135
中南大学
2023
大数据开发工程师
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑细雨噜噜噜吗?
发布(125)
评论
刷题
收藏
细雨噜噜噜
关注TA,不错过内容更新
关注
2022-07-02 15:18
已编辑
中南大学 大数据开发工程师
题解 | #删除链表的节点#
查看北大陈斌老师的数算课程模仿写的。迭代遍历。 找到要移除的节点current,需要区分两种情况:current是首个节点;或者是位语链条中间的节点。 思路流程: step 1:准备两个指针遍历链表,一个指针指向当前要遍历的元素,另一个指针指向该元素的前序节点,便于获取它的指针。第一个节点给它加一个None节点作为前节点。 step 2:遍历链表,找到目标节点就停下,准备处理;如果没找到就继续找。 step 3:如果要删除的是首个节点,特殊处理一下;如果是中间节点,则断开连接,指向后一个。 step 4:返回时返回原来输入的链表即可。(本来有点小疑惑为什么返回的是head,后面理解了是因为一开...
0
点赞
评论
收藏
分享
2022-06-29 10:42
已编辑
中南大学 大数据开发工程师
题解 | #从尾到头打印链表#
题解区高赞(栈方法): # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param listNode ListNode类 # @return int整型一维数组 # class Solution: def printListFromTailToHead(self , listNode: ListNode) -> List[int]: res=[] s=[] #正序输出链表到栈中 while...
0
点赞
评论
收藏
分享
2022-10-18 17:29
已编辑
中南大学 大数据开发工程师
题解 | #店铺901国庆期间的7日动销率和滞销率#
平台有个案例通不过,但是sql server 通过了,我不理解 SELECT T1.dt, ROUND(sold_num_7_days/onsell_num,3) sale_rate, 1-ROUND(sold_num_7_days/onsell_num,3) unsale_rate FROM (SELECT dt, COUNT(DISTINCT product_id) sold_num_7_days FROM (SELECT DISTINCT DATE(event_time) dt FROM tb_order_overall WHERE DATE(event_time) BETWEEN '2...
0
点赞
评论
收藏
分享
2021-12-15 09:36
中南大学 大数据开发工程师
今天是大橘的一天!
0
点赞
评论
收藏
分享
2021-12-13 21:12
中南大学 大数据开发工程师
题解 | #连续签到领金币#
SELECT uid, month, SUM(every_partition_coin) coin FROM (SELECT uid, month, (CASE WHEN MOD(continue_count,7)>=3 THEN FLOOR(continue_count/7)*8+2+continue_count WHEN MOD(continue_count,7)<3 THEN FLOOR(continue_count/7)*8+continue_count END) every_partition_coin FROM (SELECT uid, month, COUNT(*) ...
0
点赞
评论
收藏
分享
2022-10-14 15:51
已编辑
中南大学 大数据开发工程师
题解 | #2021年11月每天新用户的次日留存率#
明确计算公式每个日期的留存数(分子,T1表),每个日期的新增用户数(分母,T2表),两个相除。 第一步,先把uid,in_time和out_time处理好,记成基本表t1。 第二步,找新增用户数。确定方法:找到每个用户的最小登录日后, 再根据最小登录日分组计数, 就能知道每个日的新增用户数。 第三步,确定留存数。用uid和uid相连,dt和DATE_SUB(dt, INTERVAL 1 DAY)相连的左连接方式即可以算每天新用户的留存数。 得到代码: WITH t1 AS(SELECT uid, DATE_FORMAT(in_time,'%Y-%m-%d') dt FROM tb_user_l...
0
点赞
评论
收藏
分享
2022-10-14 10:02
已编辑
中南大学 大数据开发工程师
题解 | #某宝店铺连续2天及以上购物的用户及其对应的天数#
SELECT user_id, COUNT(date_rk_diff) days_count FROM (SELECT user_id, DATE_SUB(sales_date, INTERVAL rk DAY) date_rk_diff FROM (SELECT user_id, sales_date, ROW_NUMBER() over (partition by user_id order by sales_date) rk FROM (SELECT DISTINCT user_id, sales_date FROM sales_tb) t1 ) t2 ) t3 GROUP BY use...
0
点赞
评论
收藏
分享
2021-12-12 14:54
已编辑
中南大学 大数据开发工程师
题解 | #某宝店铺动销率与售罄率#
SELECT t1.style_id, ROUND(total_sold/(total_inventory-total_sold)*100,2) 'pin_rate(%)', ROUND(GMV/stockup_val*100,2) 'sell-through_rate(%)' FROM (SELECT style_id, SUM(sales_num) total_sold, SUM(sales_price) GMV FROM sales_tb JOIN product_tb ON sales_tb.item_id=product_tb.item_id GROUP BY style_id) t...
0
点赞
评论
收藏
分享
2021-12-12 10:23
已编辑
中南大学 大数据开发工程师
题解 | #每篇文章同一时刻最大在看人数#
SELECT artical_id, MAX(total_num) max_uv FROM (SELECT artical_id, SUM(num) over (partition by artical_id order by dt, num DESC) total_num FROM (SELECT artical_id, in_time AS dt, 1 AS num FROM tb_user_log WHERE artical_id!=0 UNION ALL SELECT artical_id, out_time AS dt, -1 AS num FROM tb_user_log WHER...
0
点赞
评论
收藏
分享
2021-12-15 09:27
已编辑
中南大学 大数据开发工程师
题解 | #国庆期间每类视频点赞量和转发量#
SELECT * FROM( SELECT tag, dt, SUM(like_cnt) over (partition by tag order by dt rows 6 preceding) sum_like_cnt_7d, MAX(retweet_cnt) over (partition by tag order by dt rows 6 preceding) max_retweet_cnt_7d FROM ( SELECT tag, DATE_FORMAT(start_time,'%Y-%m-%d') dt, SUM(if_like) like_cnt, SUM(if_retweet)...
0
点赞
评论
收藏
分享
2021-12-10 14:29
中南大学 大数据开发工程师
题解 | #商品交易(网易校招笔试真题)#
法一:(窗口函数) SELECT DISTINCT id,name,weight,total FROM (SELECT goods.id,name,weight,SUM(count) over (partition by trans.goods_id) total FROM goods JOIN trans ON goods.id=trans.goods_id) t1 WHERE weight<50 AND total>20 ORDER BY id 法二:给goods加一个total列即可。(这个方法就可以了,感觉我老开窗开习惯了,捂脸) SELECT id,name,weigh...
0
点赞
评论
收藏
分享
2021-12-10 10:43
中南大学 大数据开发工程师
题解 | #最差是第几名(二)#
法一: WITH t1 AS ( SELECT grade, (SUM(number) over (ORDER BY grade))-(number-1) AS min_rank, SUM(number) over (ORDER BY grade) AS max_rank FROM class_grade ORDER BY grade), t2 AS ( SELECT ROUND(SUM(number)/2) AS medium_1, ROUND((SUM(number)+1)/2) AS medium_2 FROM class_grade) SELECT grade FROM t1,t2 W...
0
点赞
评论
收藏
分享
2021-12-09 13:47
已编辑
中南大学 大数据开发工程师
题解 | #牛客的课程订单分析(五)#
法一:最直接的就是借鉴#牛客的课程订单分析(四)#的做法,取rk=1的表和取rk=2的表内连接起来。好处是直观,但是代码有些冗余,就不贴了。 法二:参考评论区,我想到了IF(rk=1, date, NULL)但是会出现多个user_id和NULL的date, 没想到加上一个MAX() GROUP BY 可以巧妙解决。 SELECT user_id, MAX(IF(rk=1, date, NULL)) first_buy_date, MAX(IF(rk=2, date, NULL)) second_buy_date, cnt FROM (SELECT user_id, date, COUNT(*...
0
点赞
评论
收藏
分享
2021-12-09 11:11
中南大学 大数据开发工程师
题解 | #考试分数(五)#
法一: SELECT * FROM (SELECT *, ROW_NUMBER() over (partition by job order by score DESC) t_rank FROM grade) t1 WHERE (job,t_rank) IN (SELECT job,t_medium FROM (SELECT job, case when COUNT(*)%2=0 then ROUND(COUNT(*)/2) else ROUND(COUNT(*)/2) end AS t_medium FROM grade GROUP BY job UNION SELECT job, case...
0
点赞
评论
收藏
分享
2021-12-09 10:21
中南大学 大数据开发工程师
题解 | #考试分数(四)#
法一(先窗口函数排序了,其实不需要的,因为只需要分组后的总数就可以了,捂脸): SELECT job, case when MAX(rk)%2=0 then ROUND(MAX(rk)/2) else ROUND(MAX(rk)/2) end AS start, case when MAX(rk)%2=0 then ROUND(MAX(rk)/2)+1 else ROUND(MAX(rk)/2) end AS end FROM (SELECT job, ROW_NUMBER() over (partition by job order by score) rk FROM grade) t1 G...
0
点赞
评论
收藏
分享
1
3
4
5
6
7
9
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务