楼主: 李浩泉
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] LC Python 刷题笔记 有志者事竟成

   
🔗
 楼主| 李浩泉 2020-8-14 00:01:39 | 只看该作者
本帖为密码帖 ,请输入密码 
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-8-14 01:24:06 | 只看该作者
全局:
  1. /*

  2. 3.  We want to run a new promotion for our most successful category of products (we call these categories “product classes”). Can you find out what are the top 3 selling product classes by total sales? TOP 3 best sale products class (top three best classes) (find out how many different product classes our California customers have purchased from?) (列出买了相应数量的class的人数,比如买了0种class的人数,1种的人数,3种的人数)

  3. */
  4. SELECT
  5. product_class_id
  6. FROM (
  7. SELECT
  8. product_class_id,
  9. DENSE_RANK() OVER(PARTITION BY product_class_id ORDER BY SUM(store_sales) DESC) AS RK
  10. FROM products
  11. LEFT JOIN sales ON products.product_id = sales.product_id ) T
  12. WHERE RK <= 3


  13. -- 错误的做法 不能用 TOP 3 会丢数据,因为可能并列第一的就有4个

  14. SELECT product_class_id, SUM(store_sales) AS totrevenue
  15. FROM products
  16. LEFT JOIN sales ON products.product_id = sales.product_id
  17. GROUP BY product_class_id
  18. ORDER BY SUM(store_sales) DESC
  19. LIMIT 3
复制代码

回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-8-14 01:51:49 | 只看该作者
本帖为密码帖 ,请输入密码 
回复

使用道具 举报

🔗
goroundround 2020-8-14 04:25:32 | 只看该作者
全局:
感謝分享0.0
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-8-16 12:03:18 | 只看该作者
全局:
3SUM 真是一道考察双指针算法最好的题

  1. if i > 0 and nums[i] == nums[i-1]:
  2.                 continue
复制代码


  1. while left + 1 < right and nums[left] == nums[left+1]:
  2.                         left = left + 1
  3.                     left = left + 1
  4.                     while left < right - 1 and nums[right] == nums[right-1]:
  5.                         right = right - 1
  6.                     right = right - 1
复制代码



最大的收获是在循环体中通过条件直接去重,而不是得出结果后再去重。

  1. def threeSum(self, nums):
  2.         """
  3.         :type nums: List[int]
  4.         :rtype: List[List[int]]
  5.         """
  6.         result = []
  7.         nums.sort()
  8.         for i in range(len(nums)-2):
  9.             if i > 0 and nums[i] == nums[i-1]:
  10.                 continue
  11.             left = i + 1
  12.             right = len(nums) - 1
  13.             while left < right:
  14.                 if nums[i] + nums[left] + nums[right] == 0:
  15.                     result.append([nums[i],nums[left],nums[right]])
  16.                     while left + 1 < right and nums[left] == nums[left+1]:
  17.                         left = left + 1
  18.                     left = left + 1
  19.                     while left + 1 < right and nums[right] == nums[right-1]:
  20.                         right = right - 1
  21.                     right = right - 1
  22.                 elif nums[i] + nums[left] + nums[right] > 0:
  23.                     right -= 1
  24.                 else:
  25.                     left +=1
  26.         return result
复制代码

回复

使用道具 举报

🔗
godblessyou 2020-8-16 22:53:55 | 只看该作者
全局:
我们真好像,年过30, 之前一直用SQL, 共勉一下
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-8-17 00:31:33 | 只看该作者
全局:
godblessyou 发表于 2020-8-16 22:53
我们真好像,年过30, 之前一直用SQL, 共勉一下

兄弟,一起加油!!!

好多人问我,12万一年铁饭碗在美东不也挺好的吗?干嘛非来西岸去大厂,就是为了20万的年薪,多挣钱?

其实,他们不明白,现在都大数据了,everything on cloud,我才30多岁,离退休还有30年。只会用SQL做BI报表,能吃30年吗???传统的SQL + ETL + 仪表盘(SAP BO/MS PowerBI/Qlik/Tableau),这些东西干3年就全明白了,护城河太浅了,天花板太低了,15-18万就封顶了。现在软件封装越来越高级,留给in house IT二次开发的空间越来越小,而且SF垄断了CRM,SAP垄断了ERP,这些大厂自带的报表就几乎够用了,内部开发的技术含量越来越低,impact也来越小。

20年前的CCIE的年薪可达20+美金,大企业都抢着要人。现在呢?除了大电信商以外,哪个企业自己还要养CCIE呢?能有个15万美金就不错了。

2000年,20万美金
2020年,15万美金

看看CCIE,还有当年的ORACLE DBA,SAP ERP开发,再看看现在的BI,未雨绸缪吧。不进则退。

做SQL的,还有几年时间窗口往cloud data pipeline上转,等AWS和Azure都部署完毕了,做ETL SQL开发和报表的这些人也就下岗了。

为了以后30年能走的长一点,现在的BI人员必须:

精通SQL
掌握PYTHON
熟悉AWS或Azure

至于BO/PowerBI/Qliksense/Tableau,这些前端的工具软件,就像EXCEL一样,根本就不能称之为技术壁垒和职业安全边际。

评分

参与人数 1大米 +2 收起 理由
睡不着的喵 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
godblessyou 2020-8-17 00:38:25 | 只看该作者
全局:
李浩泉 发表于 2020-8-17 00:31
兄弟,一起加油!!!

好多人问我,12万一年铁饭碗在美东不也挺好的吗?干嘛非来西岸去大厂,就是为了 ...

说的太好了! 现实就是这么残酷的。那些Dashboard也就看起来炫酷,其实实用性感觉没那么高。随着Cloud的盛行,DBA这些也要逐渐淘汰了,之前还有说法是DBA越老越吃香,现在看来也不保
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-8-22 03:30:21 | 只看该作者
本帖为密码帖 ,请输入密码 
回复

使用道具 举报

🔗
9000 2020-8-22 17:17:44 | 只看该作者
全局:
做题这部分和刷碗相比 还是轻松多了老实说
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表