ORIGIN

爱奇艺2021秋招笔试

找工作 5 mins1.1k words

本次笔试在赛码网,记录一下编程题。

女生数量最多的专业名称和对应的女生人数

时间限制: 3000MS
内存限制: 589824KB
题目描述
现有如下MySQL数据表,请写出合适的SQL语句,查询出女生数量最多的前三个专业名称和对应的女生人数?(gender字段说明:1为男,2为女)。要求查询结果的表头如subject_name, girl_count

大学学生基本信息表Studen_Info

id name gender
1 Kate 2
2 Mary 2
3 Tom 1
4 Jim 1
5 Lily 2
6 Rose 2
7 Lucy 2
8 Meimei 2

专业信息登记表Subject_Register

student_id subject_id
1 1
2 2
3 3
4 3
5 2
6 4
7 4
8 4

专业基本信息表Subject_Info

id name
1 Math
2 English
3 Computer
4 News

输入描述
MySQL数据表

输出描述
查询出女生数量最多的前三个专业名称和对应的女生人数, 要求查询结果的表头如subject_name, girl_count

样例输入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
create table Student_Info(id int primary key not null,  name varchar(30),  gender int);
insert into Student_Info(id,name,gender) values(1,'Kate',2);
insert into Student_Info(id,name,gender) values(2,'Mary',2);
insert into Student_Info(id,name,gender) values(3,'Tom',1);
insert into Student_Info(id,name,gender) values(4,'Jim',1);
insert into Student_Info(id,name,gender) values(5,'Lily',2);
insert into Student_Info(id,name,gender) values(6,'Rose',2);
insert into Student_Info(id,name,gender) values(7,'Lucy',2);
insert into Student_Info(id,name,gender) values(8,'Meimei',2);

create table Subject_Register(student_id int primary key not null, subject_id int);
insert into Subject_Register(student_id,subject_id) values(1, 1);
insert into Subject_Register(student_id,subject_id) values(2, 2);
insert into Subject_Register(student_id,subject_id) values(3, 3);
insert into Subject_Register(student_id,subject_id) values(4, 3);
insert into Subject_Register(student_id,subject_id) values(5, 2);
insert into Subject_Register(student_id,subject_id) values(6, 4);
insert into Subject_Register(student_id,subject_id) values(7, 4);
insert into Subject_Register(student_id,subject_id) values(8, 4);

create table Subject_Info(id int primary key not null, name varchar(30));
insert into Subject_Info(id,name) values(1, 'Math');
insert into Subject_Info(id,name) values(2, 'English');
insert into Subject_Info(id,name) values(3, 'Computer');
insert into Subject_Info(id,name) values(4, 'News');

样例输出

News 3
English 2
Math 1

最大振幅计算

时间限制: 1000MS
内存限制: 65536KB
题目描述
在监控与BI报表系统中,我们经常会采集数据指标进行分析,这里的数据往往都是时序数据,对于时序数据,我们可以用一个数组来表示,例如数组下标表示时间顺序,数组的值表示采集的指标数据大小。现在作为分析师的你,得到如下一个任务:在给定一个整数形式的时序数据,求出这个时序里最大的振幅(“落差”)(振幅 = 时序里相邻的“波峰”与“波谷”相差绝对值)

输入描述
一个数组,下标代表x轴的时间顺序,数组里的每个数值代表y轴的具体值

输出描述
整个曲线的相邻波峰与波谷的最大振幅落差

样例输入
1,2,3,8,5,3,6
2,2,3,8,8,6,5,10,7,6
1,2,3,4,5,6
样例输出
7
6
5

多线程打印奇偶数

时间限制: 1000MS
内存限制: 524288KB
题目描述
假设有这么一个类:

1
2
3
4
5
6
class ZeroAndEvenOdd {
public ZeroAndEvenOdd(int n) { ... } // 构造函数
public void printZero(printNumber) { ... } // 仅打印出 0
public void printEven(printNumber) { ... } // 仅打印出 偶数
public void printOdd(printNumber) { ... } // 仅打印出 奇数
}

相同的一个 ZeroAndEvenOdd类实例将会传递给三个不同的线程:

线程 A 将调用 printZero(),它只输出 0 。

线程 B 将调用 printEven(),它只输出偶数。

线程 C 将调用 printOdd(),它只输出奇数。

每个线程都有一个 printNumber 方法来输出一个整数。请修改给出的代码以输出整数序列 010203040506… ,其中序列的长度必须为 2n。

输入描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <condition_variable>
#include <functional>
#include <iostream>
#include <memory>
#include <mutex>
#include <thread>

class ZeroAndEvenOdd {
private:
bool ze;
bool other;
int n;
std::condition_variable cv;
std::mutex mtx;

public:
ZeroAndEvenOdd(int m) : ze(false), other(true), n(m) {
}

// printNumber(x) outputs "x", where x is an integer.
void printZero(std::function<void(int)> printNumber) {
//待实现
}

void printEven(std::function<void(int)> printNumber) {
//待实现
}

void printOdd(std::function<void(int)> printNumber) {
//待实现
}
};

void printNumber(int i) {
std::cout << i;
}

int main(int argc, char** argv) {
int n = 0;
std::cin >> n;
ZeroAndEvenOdd zeo(n);
std::thread th1 = std::thread(std::bind(&ZeroAndEvenOdd::printZero, &zeo, std::placeholders::_1), printNumber);
std::thread th2 = std::thread(std::bind(&ZeroAndEvenOdd::printEven, &zeo, std::placeholders::_1), printNumber);
std::thread th3 = std::thread(std::bind(&ZeroAndEvenOdd::printOdd, &zeo, std::placeholders::_1), printNumber);
th1.join();
th2.join();
th3.join();


std::cout << std::endl;
return 0;
}
TOP
COMMENT
  • ABOUT
  • |
o_oyao
  The Jigsaw puzzle is incomplete with even one missing piece. And I want to be the last piece to make the puzzle complete.
Like my post?
Default QR Code
made with ❤️ by o_oyao
©o_oyao 2019-2024

|