刷题日记【第八篇】-笔试必刷题【查找输入整数二进制中1的个数+手套+完全数计算+扑克牌大小】
1.数据库做join操作时,至少要涉及到几张表?
我们知道 join可以自交(自连接), 比如
select * from studentId a inner join studentid b on a.studentid=b.student
所以此处问最少涉及几张表,就是1张喽!
2.在下面的两个关系中,职工号和部门号分别为职工关系和部门关系的主键(或称主码)职工(职工号、职工名、部门号、职务、工资) 部门(部门号、部门名、部门人数、工资总额) 在这两个关系的属性中,只有一个属性是外键(或称外来键、外码、外来码),它是 ______
外键即另一张表中的主键
职工关系的主键是职工号,包括但不限于两个数据项:职工号、部门号…
所以在职工关系表中,部门号为外键
部门关系表中主键是部门号,其他数据项不明,但肯定不包括职工号
3.在Mysql中,语句 SELECT IF(-1,5,2) 的返回值是:
数据库中的if函数就是我们常用到的三目运算符
if(条件,表达式1,表达式2)
如果条件为真(即不为0),执行表达式1,否则,执行表达式2.
所以此处选D
4.设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是()
<?php
$link = mysql_connect('localhost', 'user', 'password')
or die('Could not connect '.mysql_error());
$result = mysql_query("SELECT id, name, age FROM mydb.tb1 WHERE id <'5'")
or die('Could not query: '.mysql_error());
echo mysql_num_fields($result);
mysql_close($link);
?>
mysql_num_fields():返回查询结果集的总列数;mysql_num_rows():返回查询结果集的总行数
5.查找输入整数二进制中1的个数【编程题】
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int count = 0;
while(n!=0){
if((n&1)==1){
count++;
}
n>>=1;
}
System.out.println(count);
}
}
}
6.手套【编程题】
import java.util.*;
public class Gloves {
public int findMinimum(int n, int[] left, int[] right) {
// write code here
int sum = 0;
int leftSum = 0;
int rightSum = 0;
int leftMin = 26;
int rightMin = 26;
for(int i =0;i<n;i++){
if(left[i]==0||right[i]==0){
sum+=left[i]+right[i];
}else{
if(left[i]<leftMin){
leftMin=left[i];
}
if(right[i]<rightMin){
rightMin=right[i];
}
leftSum+=left[i];
rightSum+=right[i];
}
}
return sum+Math.min(leftSum-leftMin+1,rightSum-rightMin+1)+1;
}
}
7.在关系型是数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是:
当要删除的记录在数据库中不存在的时候,是不会报错的。
此题选择D
8.以下哪个不是与Mysql服务器相互作用的通讯协议()
UDP是无连接,不可靠传输,对于数据库来说是不安全的,所以选B
9.如果事务T获得了数据项Q上的排它锁,则T对Q______。
T获得了数据Q的排它锁,T对Q应该既可以读又可以写
排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁【S锁】
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
10.在关系模型中,实现“表示了两个关系之间的相关联系”的约束是通过()
关系与关系间的相关联系就是表和表之间的连接,那就是外键.
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
11.完全数计算
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int count = 0;
for(int i=1;i<num;i++){
int sum = 0;
for(int j=1;j<=i/2;j++){
if(i%j==0){
sum+=j;
}
}
if(sum ==i){
count++;
}
}
System.out.println(count);
}
}
12.扑克牌大小
思路:
若有一方为大小王,则输出大小王;
若牌面个数相等,判断第一个牌在p中出现的位置,若靠后则更大;
若有一方为炸弹,则输出炸弹;
在牛客的链接里面还有一种可能 如果牌数相等,且对手是一张大王或者小王,则输出大王或者小王
其他情况输出ERROR。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] pp = str.split("-");
String[] p1 = pp[0].split(" ");
String[] p2 = pp[1].split(" ");
String p = "34567891JQKA2";
if (pp[0].equals("joker JOKER") || pp[1].equals("joker JOKER")) {
System.out.println("joker JOKER");
} else if (p1.length == p2.length) {
if (p1[0].equals("joker") || p1[0].equals("JOKER")) {
if (p1[0].equals("joker") && p2[0].equals("JOKER")) {
System.out.println(pp[1]);
} else {
System.out.println(pp[0]);
}
} else if (p2[0].equals("joker") || p2[0].equals("JOKER")) {
if (p2[0].equals("joker") && p1[0].equals("JOKER")) {
System.out.println(pp[0]);
} else {
System.out.println(pp[1]);
}
} else if (p.indexOf(p1[0].substring(0, 1)) > p.indexOf(p2[0].substring(0,
1))) {
//如果是10 substring 截取成1
System.out.println(pp[0]);
} else {
System.out.println(pp[1]);
}
} else if (p1.length == 4) {
System.out.println(pp[0]);
} else if (p2.length == 4) {
System.out.println(pp[1]);
} else {
System.out.println("ERROR");
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119532.html