自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 【简单】9、跳台阶

描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路:如果青蛙当前在第n级台阶上,那它上一步是在哪里呢?显然,由于它可以跳1级台阶或者2级台阶,所以它上一步必定在第n-1,或者第n-2级台阶,也就是说它跳上n级台阶的跳法数是跳上n-1和跳上n-2级台阶的跳法数之和。...

2021-10-15 16:52:36 149

原创 【学习】10、综合练习:统计复旦用户8月练题情况

题目: 作为牛客网的数据分析师,现在运营想要了解复旦大学的每个用户在8月份练习的总题目数和回答正确的题目数情况,请取出相应明细数据,对于在8月份没有练习过的用户,答题数结果返回0。select u.device_id,u.university,sum(q.question_id and month(q.date)=8) as question_cnt,sum(if(q.result='right' and month(q.date)=8,1,0)) as right_question_cntfrom

2021-09-18 18:43:50 605

原创 【学习】9、窗口函数:找出每个学校GPA最低的同学

题目:作为牛客网的数据分析师,现在运营想要找到每个学校gpa最低的同学来做调研,请你取出相应数据。方一:SELECT device_id, university, gpaFROM user_profileWHERE gpa IN( # IN 可替换为 = ANY SELECT min(gpa) FROM user_profile GROUP BY university)GROUP BY university # 保证学校名不重复ORDER BY university;

2021-09-16 22:11:44 961

原创 【学习】8、文本函数:截取出年龄

题目:作为牛客网的数据分析师,现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个年龄的用户分别有多少参赛者,请取出相应结果。方一:select SUBSTRING(profile,12,2) as age,count(*) as numberfrom user_submitgroup by age方二:使用SUBSTRING_INDEX函数嵌套,第一层取出年龄和性别数据,第二层取出年龄数据。select SUBSTRING_INDEX(SUBSTRING

2021-09-15 14:46:51 206

原创 【学习】7、文本函数:提取博客URL中的用户名

题目:对于申请参与比赛的用户,blog_url字段中url字符后的字符串为用户个人博客的用户名,现在运营想要把用户的个人博客用户字段提取出单独记录为一个新的字段,请取出所需数据。方一:select device_id,SUBSTRING_INDEX(blog_url,'/',-1) as user_namefrom user_submit方二:利用 replace 替换掉无效数据select device_id,replace(blog_url,'http:/url/','')from use

2021-09-15 14:38:05 299

原创 【学习】6、文本函数:统计每种性别的人数

题目:作为牛客网的数据分析师,现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个性别的用户分别有多少参赛者,请取出相应结果。截取函数:1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;2、POSITION(substr IN str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOC

2021-09-15 14:30:49 724

原创 【学习】日期函数:5、计算用户的平均次日留存率

题目:作为牛客网的数据分析师,现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请取出相应数据。date_sub(expr1,expr2):从日期减去指定的时间间隔。expr1为需要计算的字段名,expr2为需要计算的值,如interval 1 day;因为表格中用户ID可能存在重复,所以在表格自连接之前先对字段去重筛选,即 select distinct device_id,date from 表格,之后再进行自连接;题中计算的为留存率,即次日的用户数/今日的用户数,因此需用到左自连接

2021-09-15 14:23:05 926

原创 【学习】4、日期函数:计算用户8月每天的练题数量

题目:作为牛客网的数据分析师,现在运营想要计算出2021年8月每天用户练习题目的数量,请取出相应数据。Select day(date) as day, count(question_id) as question_cntFrom question_practice_detailWhere year(date)=2021 and month(date)=08Group by day...

2021-09-15 14:21:38 536

原创 【学习】3、条件查询:查看不同年龄段的用户明细

题目:作为牛客网的数据分析师,现在运营想要将用户划分为20岁以下,20-24岁,25岁及以上三个年龄段,分别查看不同年龄段用户的明细情况,请取出相应数据。运算符case……when 条件 then ……else ……end as……select device_id,gender,case when age<20 then '20岁以下' when age between 20 and 24 then '20-24岁' when age>=25 then '25岁以

2021-09-15 14:19:53 607

原创 【学习】2、条件查询:计算25岁以上和以下的用户数量

题目:作为牛客网的数据分析师,现在运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量。方一:select '25岁以下' age_cnt,count(device_id)as Numberfrom user_profilewhere age<25 or age is nullUNION ALLselect '25岁及以上' age_cnt,count(device_id)as Numberfrom user_profilewhere age>=2

2021-09-15 14:18:52 1050

原创 【学习】1、组合查询:查找山东大学男生的GPA

题目:作为牛客网的数据分析师,现在运营想要分别查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,请取出相应结果,结果不去重。select device_id,gender,age,gpafrom user_profilewhere university='山东大学'union ALLselect device_id,gender,age,gpafrom user_profilewhere gender='male'...

2021-09-15 14:17:15 343

原创 【简单】SQL3、 查找所有已经分配部门的员工的last_name和first_name以及dept_no

方一:SELECT e.last_name,e.first_name,d.dept_noFROM employees AS e,dept_emp AS dWHERE e.emp_no=d.emp_no;方二:employees表中的dept_no有可能为NULL;但dep_emp表中的dept_no一定不为NULL,所以使用内部联结,去除dept_no为NULL的employees。联结时,如果需要把dept_no=NULL的数据也列出,要使用外部联结 LEFT/RIGHT OUTER JOI

2021-09-11 16:59:18 83

原创 【简单】SQL2、查找入职员工时间排名倒数第三的员工所有信息

SELECT * from employeesWHERE hire_date=( SELECT hire_date FROM employees ORDER BY hire_date DESC LIMIT 2,1);

2021-09-11 16:45:59 87

原创 【简单】8、反转链表

输入一个链表,反转链表后,输出新链表的表头。方一:用数组把链表的每个元素都保存下来,翻转之后再重建链表。class Solution: # 返回ListNode def ReverseList(self, pHead): if not pHead: return pHead res=[] while pHead: res.append(pHead) #把每一个元素放入数组

2021-09-11 16:11:50 156

原创 【入门】SQL1、查找最晚入职员工的所有信息

方一:排序SELECT * FROM employeesORDER BY hire_date DESCLIMIT 0,1;改进:SELECT * FROM employeesWHERE hire_date = ( SELECT hire_date FROM employees ORDER BY hire_date DESC LIMIT 1 OFFSET 0);方二:使用子查询SELECT * FROM employeesWHERE hire_date =(

2021-09-10 16:59:38 213

原创 【入门】7、螺旋矩阵

给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。由于行列不相等,因此定义四个变量用于记录边界:左边界left右边界right上边界top下边界bottom然后以top和left基准层层打印,值得注意的是,为了避免重复打印,我们需要在打印下边和左边时额外判断一下top和bottom以及left和right是否相等:class Solution: def spiralOrder(self , matrix ): # write code

2021-09-10 16:22:16 495

原创 【入门】6、寻找峰值

山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。假设 nums[-1] = nums[n] = -∞。注意题目是:最大索引的山峰,而不是最大山峰的索引所以倒序遍历,找到第一个山峰直接break跳出循环class Solution: def solve(self , a ): length=len(a) index=0 for i in

2021-09-10 16:05:44 176

原创 【入门】5、缺失数字

描述从 0,1,2,…,n 这 n+1 个数中选择 n 个数,选择出的数字依然保持有序,找出这 n 个数中缺失的那个数,要求 O(n) 或 O(log(n)) 并尽可能小。方一:根据等差数列的求和公式思路:因为0-n个数里面只缺少一个数,所以可以直接对0-n求和,然后再减去该a数组的和就是答案了。class Solution: def solve(self , a ): length=len(a) sum1,sum2=0,0 for i in

2021-09-09 15:52:33 598

原创 【入门】4、最大公约数

方一:核心:gcb(a, b) = gcb(b, a%b)class Solution: def gcd(self , a , b ): if a%b == 0: return b else : return self.gcd(b,a%b)方二:暴力枚举不知道为什么通过率7/10class Solution: def gcd(self , a , b ): mi=mi.

2021-09-07 16:50:16 116

原创 【入门】3、反转字符串

描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)示例1输入:“abcd”复制返回值:“dcba”方一:切片class Solution: def solve(self , str ): revert=str return (revert[::-1])...

2021-09-07 15:30:11 51

原创 【入门】2、斐波那契数列

描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n\leq 39n≤39Python:class Solution: def Fibonacci(self, n): if n<=0: return 0 elif n==1: return 1 elif n==2: return 1 e

2021-09-03 17:45:43 148

原创 【入门】1、判断回文

描述给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。Python:方一:class Solution: def judge(self , str ): #if not str: # return True length=len(str) for i in range(length): if(str[i]!=str[len(str)-i-1]):

2021-09-03 17:43:43 468

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除