Leetcode
Leetcode的刷题之路
WGS.
道阻且长,与君共勉:你若对得起时间,时间便会对得起你。
展开
-
刷题记:Python实现反转链表
刷题记:Python实现反转链表原创 2023-07-25 09:54:23 · 211 阅读 · 0 评论 -
LeetCode---反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLpublic class test01 { public static void main(String[] args) { ListNode head = new ListNode(1); ListNode node1 = new ListNode(2); List原创 2020-12-13 13:51:09 · 272 阅读 · 2 评论 -
LeetCode--1126. 查询活跃业务
drop table if EXISTS `Events`;create table `Events`(business_id int,event_type varchar(50),occurences int );insert into Enrollments values(1, 'reviews', 7);insert into Enrollments values(3, 'reviews', 3);insert into Enrollments values(1, 'ads', 1..原创 2020-11-05 14:30:26 · 386 阅读 · 2 评论 -
LeetCode--1113. 报告的记录
这题目要仔细看给的result table= = 题目本身是不严谨的没给出多个用户同理由举报算一种的限定条件 要加action = ‘report’的限定是因为其他的action可能也有对应的extra 题目要求了是report的extraselect extra report_reason, count(distinct post_id) report_countfrom actionswhere datediff('2019-07-05', action_date) = 1and acti..原创 2020-11-05 11:27:46 · 304 阅读 · 2 评论 -
LeetCode--1112. 每位学生的最高成绩
drop table if EXISTS Enrollments;create table Enrollments(student_id int,course_id varchar(50),grade int );insert into Enrollments values(2, 2, 95);insert into Enrollments values(2, 3, 95);insert into Enrollments values(1, 1, 90);insert into Enro.原创 2020-11-05 11:21:06 · 347 阅读 · 2 评论 -
LeetCode--1107. 每日新用户统计
drop table if EXISTS Traffic;create table Traffic(user_id int,activity varchar(50),activity_date date );insert into Traffic values(1, 'login', '2019-05-01');insert into Traffic values(1, 'homepage', '2019-05-01');insert into Traffic values(1, 'lo..原创 2020-11-05 10:46:13 · 854 阅读 · 4 评论 -
LeetCode--1098. 小众书籍
drop table if EXISTS Books;drop table if EXISTS Orders ;create table Books(book_id int,name varchar(50),available_from date );create table Orders(order_id int,book_id int,quantity int,dispatch_date date );insert into Books values(1, 'Kalila ..原创 2020-11-05 10:10:17 · 309 阅读 · 2 评论 -
LeetCode--1097. 游戏玩法分析 V
drop table if EXISTS Activity;create table Activity(player_id int,device_id int,event_date date,games_played int );insert into Activity values(1, 2, '2016-03-01', 5);insert into Activity values(1, 2, '2016-03-02', 6);insert into Activity values(..原创 2020-11-05 08:46:57 · 1111 阅读 · 5 评论 -
LeetCode--1225. 报告系统状态的连续日期
CREATE TABLE IF NOT EXISTS Failed (fail_date DATE);CREATE TABLE IF NOT EXISTS Succeeded (success_date DATE);TRUNCATE TABLE Failed;INSERT INTO Failed (fail_date) VALUES ('2018-12-28');INSERT INTO Failed (fail_date) VALUES ('2018-12-29');INSERT INTO F..原创 2020-11-04 14:14:20 · 1575 阅读 · 9 评论 -
LeetCode--1398. 购买了产品A和产品B却没有购买产品C的顾客
drop TABLE IF EXISTS Customers;drop TABLE IF EXISTS Orders;CREATE TABLE IF NOT EXISTS Customers (customer_id INT, customer_name VARCHAR(30));CREATE TABLE IF NOT EXISTS Orders (order_id INT, customer_id INT, product_name VARCHAR(30));TRUNCATE TABLE C..原创 2020-11-04 13:58:27 · 2152 阅读 · 9 评论 -
LeetCode--1393. 股票的资本损益
CREATE TABLE IF NOT EXISTS Stocks (stock_name VARCHAR(15), operation ENUM('Sell', 'Buy'), operation_day INT, price INT);TRUNCATE TABLE Stocks;INSERT INTO Stocks (stock_name, operation, operation_day, price) VALUES ('Leetcode', 'Buy', '1', '1000');INSE..原创 2020-11-04 13:53:39 · 427 阅读 · 2 评论 -
LeetCode--1084. 销售分析III
select product_id, product_name from product where product_id not in ( select distinct product_id from sales where sale_date > '2019-03-31' or sale_date < '2019-01-01')SELECT p.product_id,product_name FROM sales s,product p WHERE s.produc..原创 2020-10-25 20:54:39 · 267 阅读 · 1 评论 -
LeetCode--1083. 销售分析 II
select distinct buyer_idfrom Sales s join Product p on s.product_id=p.product_idwhere p.product_name='S8' and buyer_id not in (select buyer_id from Sales s join Product p on s.product_id=p.product_id where p.product_name='iPhone')sel..原创 2020-10-25 20:50:07 · 235 阅读 · 1 评论 -
LeetCode--1082. 销售分析 I
drop table if EXISTS product;drop table if EXISTS sales;create table product(product_id int,product_name varchar(20),unit_price DECIMAL);create table sales(seller_id int,product_id int,buyer_id int,sale_date date,quantity int, price..原创 2020-10-25 20:42:35 · 300 阅读 · 1 评论 -
LeetCode--两句话中的不常见单词(scala实现)
def uncommonFromSentences(A: String, B: String): Array[String] = { (A.split(" ") ++ B.split(" ")).map(x => (x, 1)).groupBy(t => t._1).filter(x => x._2.size==1).keys.toArray}val astr = "this apple is sweet"val bstr = "this apple is sour".原创 2020-10-22 10:04:56 · 176 阅读 · 0 评论 -
LeetCode--速算机器人
public int calculate(String s) { return 1 << s.length();}原创 2020-10-22 10:03:45 · 192 阅读 · 0 评论 -
LeetCode--LCP 18. 早餐组合
public static int breakfastnumber(int[] arr_staple, int[] arr_drink, int x){ int res = 0; for(int staple_val : arr_staple){ for(int drink_val : arr_drink){ if((staple_val + drink_val) <= x){ res++; .原创 2020-10-22 10:02:55 · 220 阅读 · 0 评论 -
LeetCode--面试题 16.16. 部分排序
给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。示例:输入: [1,2,4,7,10,11,7,12,6,7,16,18,19]输出: [3,9]class Solution { public int[] subSort(int[] array) { int[] clon原创 2020-10-22 10:01:56 · 266 阅读 · 0 评论 -
LeetCode--最长回文子串
public static String longestPalindrome(String s) { if (s == null || s.length() == 0) { return ""; } // 保存起始位置 int[] range = new int[2]; char[] str = s.toCharArray(); // 字符串打散成字符数组 for (int i = 0; i < s.length(); i++) {.原创 2020-10-22 10:01:15 · 182 阅读 · 0 评论 -
LeetCode--1077. 项目员工 III
开窗分组,找出最大的年限,然后找出工作年限等于最大年限的select tmp.project_id, tmp.employee_idfrom( select *, max(t.experience_years) over(partition by t.project_id) max from ( select p.project_id, p.employee_id, e.experience_years from Project p left join Employee e on ..原创 2020-10-22 09:59:47 · 216 阅读 · 0 评论 -
LeetCode--1076. 项目员工II
drop table if EXISTS Project;create table Project(project_id int,employee_id int );drop table if EXISTS Employee;create table Employee(employee_id int,name varchar(20),experience_years int );insert into Project values(1, 1);insert into Projec.原创 2020-10-22 09:58:34 · 238 阅读 · 0 评论 -
LeetCode--1075. 项目员工 I
select P.project_id,round(avg(E.experience_years),2) as average_yearsfrom Project P join Employee E on P.employee_id = E.employee_idgroup by P.project_id原创 2020-10-22 09:57:49 · 337 阅读 · 0 评论 -
LeetCode-- 1070. 产品销售分析 III
select product_id, year first_year, quantity, pricefrom saleswhere (product_id, year) in(select product_id, min(year)from sales group by product_id)原创 2020-10-22 09:55:02 · 281 阅读 · 0 评论 -
LeetCode--1069. 产品销售分析 II
SELECT product_id, SUM(quantity) AS total_quantity FROM Sales GROUP BY product_id;原创 2020-10-13 21:00:52 · 221 阅读 · 0 评论 -
LeetCode--1068. 产品销售分析 I
select p.product_name , s.year , s.price from Sales s , product p where s.product_id = p.product_id原创 2020-10-13 20:58:49 · 257 阅读 · 0 评论 -
LeetCode--1050. 合作过至少三次的演员和导演
建表create table ActorDirector(actor_id int,director_id int,`timestamp` int);insert into ActorDirector values(1, 1, 0);insert into ActorDirector values(1, 1, 1);insert into ActorDirector values(1, 1, 2);insert into ActorDirector values(1, 2, 3);..原创 2020-10-13 20:28:25 · 222 阅读 · 0 评论 -
LeetCode--1045. 买下所有产品的客户
建表DROP table if EXISTS Customer;create table Customer(customer_id int,product_key int);DROP table if EXISTS Product;create table Product(product_key int);insert into Customer values(1, 5);insert into Customer values(2, 6);insert into Custo..原创 2020-10-13 17:02:48 · 245 阅读 · 1 评论 -
LeetCode--619. 只出现一次的最大数字
不需要ifnull,直接在内层select上套一层select,就可以自动在找不到的时候返回nullselect (select num from my_numbers group by num having count(num)=1 order by num desc limit 1) as num原创 2020-10-12 15:27:25 · 267 阅读 · 1 评论 -
LeetCode--618. 学生地理信息报告
建表drop table if EXISTS student;create table student(name varchar(20),continent varchar(20));insert into student values('Jack', 'America');insert into student values('Pascal', 'Europe');insert into student values('Xi', 'Asia');insert into student.原创 2020-10-12 15:19:52 · 322 阅读 · 1 评论 -
LeetCode--615. 平均工资:部门与公司比较
建表drop table if EXISTS salary;create table salary(id int,employee_id int,amounnt DECIMAL,pay_date date );drop table if EXISTS employee;create table employee(employee_id int,department_id int );insert into salary values(1, 1, 9000, '2017-03..原创 2020-10-08 11:58:35 · 374 阅读 · 0 评论 -
LeetCode--614. 二级关注者
解题思路第一个表的关注者是第二个表的被关注者,对第二个表的关注者计数select f1.follower,count(distinct f2.follower) as numfrom follow f1,follow f2where f1.follower=f2.followeegroup by f1.followerselect followee as follower,count(distinct follower) as numfrom followwhere followee.原创 2020-10-08 09:41:29 · 308 阅读 · 0 评论 -
LeetCode--613. 直线上的最近距离
SELECT min(abs(p1.x - p2.x)) shortestFROM point p1, point p2 where p1.x != p2.x原创 2020-10-08 09:29:03 · 237 阅读 · 2 评论 -
LeetCode--612. 平面上的最近距离
两点间距离公式解题思路用两点间距离公式 然后去最小值 保留两位小数表自连接,根据题意要去除俩坐标相同的点select round(min(sqrt(power(p1.x-p2.x,2) + power(p1.y-p2.y,2))),2) shortestfrom point_2d p1, point_2d p2 where (p1.x, p1.y) <> (p2.x, p2.y)...原创 2020-10-08 09:28:03 · 478 阅读 · 0 评论 -
LeetCode--610. 判断三角形
select *, case when x+y>z and x+z>y and y+z>x then 'Yes' else 'No' end as triangle from triangle;原创 2020-10-08 09:26:11 · 237 阅读 · 0 评论 -
LeetCode--608. 树节点
解题思路如果p_id里没有id,说明此id是叶子节点select id, case when p_id is null then 'Root' when id in (select p_id from tree) then 'Inner' else 'Leaf' end as typefrom tree;原创 2020-10-08 09:24:31 · 315 阅读 · 1 评论 -
LeetCode--607. 销售员
解题思路先找出向RED销售的员工然后not in 就是没想RED销售的select namefrom salespersonwhere sales_id not in ( select sales_id from orders where com_id in (select com_id from company where name = 'RED'))原创 2020-10-08 09:22:36 · 199 阅读 · 0 评论 -
LeetCode--603. 连续空余座位
解题思路表自连接,两表座位号的绝对值等于1说明俩坐连续,再控制空余座位即可select distinct c1.seat_idfrom cinema c1, cinema c2where abs(c1.seat_id - c2.seat_id) = 1and c1.free = 1 and c2.free = 1order by c1.seat_id变量做法select t1.seat_idfrom ( select t1.seat_id, if(t1.free .原创 2020-10-07 16:58:30 · 426 阅读 · 0 评论 -
LeetCode--602. 好友申请 II :谁有最多的好友
建表DROP TABLE IF EXISTS request_accepted;CREATE TABLE request_accepted (requester_id INT,accepter_id INT,accept_date DATE);INSERT INTO request_accepted VALUES(1, 2, '2016_06-03');INSERT INTO request_accepted VALUES(1, 3, '2016-06-08');INSERT INT.原创 2020-10-07 16:46:50 · 547 阅读 · 3 评论 -
LeetCode--597. 好友申请 I :总体通过率
建表CREATE TABLE friend_request(sender_id INT,send_to_id INT,request_date DATE);CREATE TABLE request_accepted(requester_id INT,accepter_id INT,accept_date DATE);INSERT INTO friend_request VALUES(1, 2, '2016_06-01');INSERT INTO friend_reques..原创 2020-10-07 15:48:35 · 313 阅读 · 0 评论 -
LeetCode--586. 订单最多的客户
建表CREATE TABLE orders(order_number INT,customer_number INT,order_date DATE,required_date DATE,shipped_date DATE,STATUS VARCHAR(20),COMMENT VARCHAR(30));INSERT INTO orders VALUES(1, 1, '2017-04-09', '2017-04-13', '2017-04-12', 'Closed', NULL);I.原创 2020-10-07 15:12:22 · 404 阅读 · 0 评论