自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (4)
  • 收藏
  • 关注

原创 牛课力扣---NC14 按之字形顺序打印二叉树

该二叉树之字形层序遍历的结果是[[1],[3,2],[4,5]]# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def Print(self, pRoot): # write code he..

2021-09-27 20:17:51 124

原创 SQL73 考试分数(二)

牛客每次考试完,都会有一个成绩表(grade),如下:第1行表示用户id为1的用户选择了C++岗位并且考了11001分.第8行表示用户id为8的用户选择了前端岗位并且考了9999分请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id的升序排序,如下:select g.id,g.job,g.scorefrom grade gwhere g.score > (select avg(score) from

2021-09-27 16:22:15 110

原创 SQL84 实习广场投递简历分析(一)

描述在牛客实习广场有很多公司开放职位给同学们投递,同学投递完就会把简历信息存到数据库里。现在有简历信息表(resume_info),部分信息简况如下:第1行表示,在2025年1月2号,C++岗位收到了53封简历。最后1行表示,在2026年1月4号,Java岗位收到了230封简历请你写出SQL语句查询在2025年内投递简历的岗位和数量,并且按数量降序排序,以上例子查询结果如下:select job, sum(num) cntfrom resume_infowhere date like "

2021-09-27 15:55:04 128

原创 SQL77 牛客的课程订单分析(一)

描述有很多同学在牛客购买课程来学习,购买会产生订单存到数据库里。有一个订单信息表(order_info),简况如下:第1行表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的订单,但是状态为没有购买成功。第2行表示user_id为230173543的用户在2025-10-12的时候使用了client_id为2的客户端下了Python课程的订单,状态为购买成功。最后1行表示user_id为557336的用户在2025-10-24的时

2021-09-27 15:47:54 96

原创 SQL84 实习广场投递简历分析(一)

描述有很多同学在牛客购买课程来学习,购买会产生订单存到数据库里。有一个订单信息表(order_info),简况如下:第1行表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的订单,但是状态为没有购买成功。第2行表示user_id为230173543的用户在2025-10-12的时候使用了client_id为2的客户端下了Python课程的订单,状态为购买成功。最后1行表示user_id为557336的用户在2025-10-24的时

2021-09-27 15:27:13 51

原创 SQL66 牛客每个人最近的登录日期(一)

描述牛客每天有很多人登录,请你统计一下牛客每个用户最近登录是哪一天。有一个登录(login)记录表,简况如下:第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网。第4行表示user_id为3的用户在2020-10-13使用了客户端id为2的设备登录了牛客网请你写出一个sql语句查询每个用户最近一天登录的日子,并且按照user_id升序排序,上面的例子查询结果如下:# 找到最大的日期,按照用户id分组,然后按照用户id排序就行了:SELECT us

2021-09-27 15:06:14 134

原创 2021-09-27

# 1、求均值:avg函数2、保留三位小数:round(XXX,3)# 3、分组聚合 group by4、降序 order,desc# select job, round(avg(score),3) as avg# 使用 ROUND(聚合函数,精确到小数点后几位)的select job, round(sum(score)*1.0/count(id),3) as avg #分组之后的分数和from gradegroup by joborder by avg desc...

2021-09-27 14:59:44 37

原创 SQL43-将所有to_date为9999-01-01的全部更新为NULL

UPDATE titles_testSET to_date = NULL, from_date = '2001-01-01'WHERE to_date = '9999-01-01'

2021-09-22 20:14:24 47

原创 SQL34 批量插入数据

# INSERT INTO actor(actor_id,first_name,last_name,last_update)# VALUES(1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),# (2,'NICK','WAHLBERG','2006-02-15 12:34:33');INSERT INTO actorVALUES (1, 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'), (2, ..

2021-09-22 20:08:29 41

原创 SQL42-删除emp_no重复的记录,只保留最小的id对应的记录。

delete from titles_testwhere id not in ( select * from( select min(id) from titles_test group by emp_no) as T1);

2021-09-22 20:06:45 67

原创 NC106 三个数的最大乘积

讨论三种情况:第一种:最大的三个都是正数,取后三个相乘即可;第二种:绝对值最大的三个数中有两个负数,取前两个负数及最后一个正数即可;绝对值最大的三个数中有一个负数或者三个负数都可以覆盖。## 最大乘积# @param A int整型一维数组 # @return long长整型#class Solution: def solve(self , A ): # write code here#方法1:排序 A = sorted(A)# 全都小于0

2021-09-19 01:16:55 62

原创 SQL32 将employees表的所有员工的last_name和first_name拼接起来作为Name

描述将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分(注:sqllite,字符串拼接为 || 符号,不支持concat函数,mysql支持concat函数)CREATE TABLE employees ( emp_no int(11) NOT NULL,birth_date date NOT NULL,first_name varchar(14) NOT NULL,last_name varchar(16) NOT NULL,g

2021-09-19 00:09:18 406

原创 NC31 第一个只出现一次的字符( 字符串)

考察:字符串方法1:常规方法:根据相同字符个数为1的字符所在位置方法2:使用哈希表存储频数.可以对字符串进行两次遍历。在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回该字符,否则在遍历结束后返回空格。方法3:首先考虑用Hashmap这样的数据结构来把所有出现过的字符和他们对应的出现次数记录下来。接着,因为我们需要找到第一个只出现一次的字符,所以我们还需要把整个输入的字符串再遍历一遍,然后遍历时我们检测当前字符的出现次数

2021-09-18 23:27:56 79

原创 NC112 进制转换

描述给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 ‘A’ 表示此位为 10 , ‘B’ 表示此位为 11 。若 M 为负数,应在结果中保留负号。## 进制转换# @param M int整型 给定整数# @param N int整型 转换到的进制# @return string字符串#class Solution: def solve(self , M , N

2021-09-18 22:45:44 46

原创 SQL17.获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

方法1:group by去重方法2:distinct去重方法3: limit offset方法4:开窗函数dense_rank() /rank() /row_number()的选择:如果有两个并列第一,两个并列第二:rank()是跳跃排序,结果是1133;dense_rank()是连续排序,结果是1122;row_number()连续且唯一,结果是1234。# #方法1:group by去重# #如果工资第一多第二多的员工都有多个,所以需要将其按照工资分组再排序SELECT e

2021-09-17 22:51:45 130

原创 SQL15 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列

# 不相等有三种表示方式:<>、!=、IS NOTselect * from employees where emp_no%2 = 1 and last_name != 'Mary' order by hire_date desc# # 法二:使用&# SELECT *# FROM employees# WHERE emp_no & 1 #通过二进制方式,&字符判断奇偶# # WHERE emp_no%2 <> 0# AND la..

2021-09-17 22:15:10 99

原创 SQL10 获取所有非manager的员工emp_no

# 方法1:NOT IN+子查询select emp_nofrom employeeswhere emp_no not in ( select emp_no from dept_manager);# # 方法2:LEFT JOIN左连接+IS NULL# select e.emp_no# from employees as e# left join dept_manager as d# on e.emp_no = d.emp_no# where dept_n...

2021-09-17 21:38:27 41

原创 SQL8 找出所有员工当前薪水salary情况

考察:distinct 去重 或group by 分组# # 找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示# # 方法1:DISTINCT 去重# SELECT DISTINCT (salary)# FROM salaries # order by salary DESC# 方法2:用group byselect salaryfrom salariesgroup by salaryorder by salary DESC...

2021-09-16 23:29:02 76

原创 SQL7-查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t

知识学习:where 和having 用法:1、where、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having2、若引入聚合函数来对group by结果进行过滤,则只能用having3、having语句通常与group by语句联合使用,用来过滤由group by语句返回的记录集。4、having语句的存在弥补了where关键字不能与聚合函数联合使用的不足5、where子句的作用是在对查询结果进行分组前,将

2021-09-16 23:16:35 125

原创 SQL-查找所有已经分配部门的员工的last_name和first_name以及dept_no

# 子查询(嵌套查询)# 完整sql执行顺序:# from -> where -> group by -> having -> select -> order by -> limit# 方法1:数据是两个表共同的数据,确定是内连接 innerSELECT e.last_name,e.first_name,d.dept_no FROM employees AS eINNER JOIN dept_emp AS dON e.emp_no=d.emp_no;...

2021-09-16 23:03:11 106

原创 SQL3 查找当前薪水详情以及部门编号dept_no

#方案1 傻瓜解法select salaries.*,dept_manager.dept_no -- 选择要呈现的项from salaries left join dept_manager -- 使用左外连接查询(要求输出结果里面dept_no列是最后一列)on salaries.emp_no=dept_manager.emp_no -- 设置连接方式(员工编号相等)where salaries.to_date='9999-01-01' and dept_manager.to_date=...

2021-09-13 22:37:54 102

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

SELECT * FROM employeesWHERE hire_date = ( SELECT DISTINCT hire_date FROM employees ORDER BY hire_date DESC #-- 倒序 LIMIT 1 OFFSET 2 #-- 去掉排名倒数第一第二的时间,取倒数第三 ); # #limit和offset用法 # # mysql里分页一般用limit来实现,当limit后面跟两个参数的时候,第一个数表示要.

2021-09-13 22:16:59 120

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

# # 方案1:SELECT * FROM employees order by hire_date desc limit 0,1# # ORDER BY 根据指定的列对结果集进行排序,默认按照升序,降序 ORDER BY DESC# # LIMIT(m, n) 从第 m + 1 行开始取 n 条记录# # 最晚员工自然是 hire_data,最晚可以用排序 ORDER BY DESC 降序来得到,然后是获取第一条记录,这样理论上是有 bug 的,因为 hire_data 可能有多个相同的记录.

2021-09-13 22:02:25 178

原创 牛课力扣---NC70 单链表的排序

# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## # @param head ListNode类 the head node# @return ListNode类#class Solution: def sortInList(self , head ): # write code here .

2021-09-11 00:38:34 118

原创 牛课力扣---NC52 括号序列

## # @param s string字符串 # @return bool布尔型#class Solution: def isValid(self , s ): # write code here #方案1:字典简化代码 k = {'}':'{', ')':'(', ']':'['} stack = [] for a in s: if a in k.values(): .

2021-09-11 00:35:49 166

原创 牛课力扣---NC33 合并两个排序的链表

# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here #方案2 把结果用列表存放再返回用递归方法,不断进行比较合并返回

2021-09-10 01:22:45 89

原创 牛课力扣---NC33 合并两个排序的链表

描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write co

2021-09-09 22:30:53 178

原创 牛课力扣---NC119 最小的K个数

描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here

2021-09-06 23:49:14 49

原创 牛课力扣---NC102 在二叉树中找到两个节点的最近公共祖先

描述给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。注:本题保证二叉树中每个节点的val值均不相同。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None## # @param root TreeNode类 # @param

2021-09-06 22:39:54 104

原创 牛课力扣---NC41 最长无重复子数组

描述给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组## # @param arr int整型一维数组 the array# @return int整型#class Solution: def maxLength(self , arr ): # write code here longest,cur

2021-09-06 22:31:49 95

原创 牛课力扣---NC68 跳台阶

描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。# -*- coding:utf-8 -*-class Solution: def jumpFloor(self, number): # write code here if number == 1: return 1 if number == 2: return 2

2021-09-06 22:24:51 47

原创 牛课力扣---NC15 求二叉树的层序遍历

描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1输入:{1,2}复制返回值:[[1],[2]]示例2输入:{1,2,3,4,#,#,5}复制返回值:[[1],[2,3],[4,5]]# class TreeNode:# def __init__(self, x):# self.val

2021-09-06 22:18:56 73

原创 牛课力扣---NC105 二分查找-II

描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1示例1输入:[1,2,4,4,5],4返回值:2说明:从左到右,查找到第1个为4的,下标为2,返回2输入:[1,2,4,4,5],3返回值:-1示例3输入:[1,1,1,1,1],1复制返回值:0## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返

2021-09-06 22:11:15 94

原创 牛课力扣---NC76 用两个栈实现队列

描述用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。示例:输入:[“PSH1”,“PSH2”,“POP”,“POP”]返回:1,2解析:“PSH1”:代表将1插入队列尾部“PSH2”:代表将2插入队列尾部"POP“:代表删除一个元素,先进先出=>返回1"POP“:代表删除一个元素,先进先出=>返回2示例1:[“PSH1”,“PSH2”,“POP

2021-09-06 22:04:48 68

原创 牛课力扣---NC97 字符串出现次数的TopK问题

## return topK string# @param strings string字符串一维数组 strings# @param k int整型 the k# @return string字符串二维数组from collections import Counterclass Solution: def topKstrings(self , strings , k ): # write code here # #同方法2: ...

2021-09-05 22:45:31 129

原创 SQL-180. 连续出现的数字

# Write your MySQL query statement below# 编写一个 SQL 查询,查找所有至少连续出现三次的数字。返回的结果表中的数据可以按 任意顺序 排列。# row_number() over([partition by value_expression,...n] order by columnName)# Write your MySQL query statement below# 自连接SELECT DISTINCT l1.Num as Consecu..

2021-09-05 22:05:21 282

原创 SQL- 178. 分数排名

编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。# select score as "Score",dense_rank() over (order by score desc) as "Rank" from scores;select score as "Score",dense_rank() over (order by score desc) as "Rank"

2021-09-05 21:08:05 134

原创 牛课力扣---NC53 删除链表的倒数第n个节点

思路1:快慢指针思路2:根据链表长度# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## # @param head ListNode类 # @param n int整型 # @return ListNode类#class Solution: def removeNthFromEnd(self , head, n): ..

2021-08-30 20:58:31 90

原创 牛课力扣---NC7 买卖股票的最好时机

## # @param prices int整型一维数组 # @return int整型#class Solution: def maxProfit(self , prices ): # write code here length= len(prices) if length == 0: #r如果给定数组长度为0,可以直接返回结果0 return 0 min_prices = prices[.

2021-08-25 21:46:02 67

原创 牛课力扣---NC156 数组中只出现一次的数(其它数出现k次)

## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param arr int一维数组 # @param k int # @return int#class Solution: def foundOnceNumber(self , arr , k ): # write code here arr.sort() #重新排序 n = len(arr) #获取长度 for i in..

2021-08-25 21:43:31 78

B站王道操作系统学习笔记.pdf

B站王道操作系统学习笔记.pdf

2021-08-21

linux-常用命令学习笔记.pdf

主要包括B站学习的有关Linux运维,含常用命令等内容。因时间仓促暂整理这么多,后期完善。

2021-08-10

科来视频学习笔记课件.pdf

B站科来有关网络安全视频,包含一些基础知识和笔记,因时间问题,大都是课件,未转化为文字,后期有时间了再整理

2021-08-06

K-近邻算法.zip

K近邻算法,包括手写识别系统,简易实现。以及如何使用距离测量的方法分类物品;其次我们将使用从文本文件中导入并解析数据;依据机器学习实战数据完成K近邻算法约会网站和手写数字识别系统。备注:请注意python版本问题,其他实现中出现的问题欢迎交流哦。

2020-09-05

空空如也

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

TA关注的人

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