一、选择题
略
二、编程题
2.1 SQL查询女生最多的前三科目,以及人数
# Student_info
id name gener
1 kitty 1
2 kitt 2
3 kit 2
# Subject_Register
studentid subjectid
1 1
2 2
3 2
# Subject_info
id name
1 math
2 science
3 chinese
在这里插入代码片
2.2 求最大振幅
数据分析:给一个数组,下标0开始作为时序增加的数据,数组的值作为振幅,求相邻时序之间的最大振幅【振幅 = 波峰 - 波谷】
输入:
1,2,3,4,5,6
1,2,3,8,5,3,6
2,2,3,8,8,6,5,10,7,6
输出:
5
7
6
愣是不知道最后一组为啥输出 6
2.3 求N皇后
2.4 多线程交替打印
输入一个数字,利用多线程打印出如下格式
输入:5
输出:0102030405
注意输入为10 带0的输出
public class KaoShi {
public static void main(String[] args) {
final Scanner reader = new Scanner(System.in);
int n = reader.nextInt();
ZeroEvenOdd zeroEvenOdd = new ZeroEvenOdd(n);
new Thread(() -> {
try {
zeroEvenOdd.printZero(System.out::print);
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
try {
zeroEvenOdd.printEven(System.out::print);
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
try {
zeroEvenOdd.printOdd(System.out::print);
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
}
}
class ZeroEvenOdd {
private int n;
public ZeroEvenOdd(int n) {
this.n = n;
}
// printNumber.accept(x) outputs "x", where x is an integer.
public void printZero(IntConsumer printNumber) throws InterruptedException {
}
public void printEven(IntConsumer printNumber) throws InterruptedException {
}
public void printOdd(IntConsumer printNumber) throws InterruptedException {
}
}
2.4 数组的无重复全排列
输入:1 1 2
输出:
3
1 1 2
1 2 1
2 1 1
答案:查看文章 回溯法数组全排序
评论