当前位置: 首页 > news >正文

笔试强训(十三)

目录

  • 一、选择题
  • 二、编程题
    • 2.1 参数解析
      • 2.1 题目
      • 2.1 题解
    • 2.2 跳石板(动态规划)
      • 2.2.1 题目
      • 2.2.2 题解

一、选择题

(1)一个关系型数据库文件中的各条记录(B)
A.前后顺序不能任意颠倒,一定要按照输入的排列顺序
B.前后顺序可以任意颠倒,不影响库中的数据关系
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同
D.前后顺序不能任意颠倒,一定要按照关键字字段值的排列顺序

关系数据库的逻辑性强而物理性弱,因此关系型数据库的各条记录前后顺序可以任意颠倒,不影响库中数据的关系

(2)下列关于视图的说法错误的是(B)
A.视图是从一个或多个基本表导出的表,它是虚表
B.视图一经定义就可以和基本表一样被查询、删除和更新
C.某一用户可以定义若干个视图
D.视图可以用来定义新的视图

视图是计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是视图并不在数据库中以存储的数据值集形式存在。行和列数据来由定义视图的查询所用的表,并且在引用视图时动态生成,视图一经定义后就无法修改
在这里插入图片描述

(3)订单表(订单号,雇员代号,地区代号,订购日期)中订单号为主键,要删除订单中前三年以前的信息,SQL为(D)
A.delete from 订单表 where 订购日期<getdate()+3
B.delete from 订单表 where 订购日期<DATEADD(yy,3,getdate())
C.delete from 订单表 where 订购日期<getdate()-3
D.delete from 订单表 where 订购日期DATEADD(yy,-3,getdate())

DATEADD函数在日期中添加或减去指定的时间间隔
语法DATEADD(datepart,number,date)
datepart 的参数范围{yy/yyyy,qq/q,mm/m,dy/y,dd/d,wk/ww,dw/w,hh,mi/n,ss/s,ms,mcs,ns}
number 是希望添加的间隔数
date 参数是合法的日期表达式

(3)负责数据库中查询操作的数据库语言是(C)
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言

数据定义语言DDL:用来创建数据库中的各种对象:表、视图、索引、同义词、聚簇等 create table/view/index/syn/cluster
数据操纵语言DML:主要负责数据的基本操作,包括查询及增加、删除、修改等操作
数据控制语言DCL:用来授予或回收数据库的某种权限,并控制数据库操纵事务发生的时间及效果,对数据ro’o库实行监视等。例如:grant:授权,rollback to:回退到某一点,rollback:回滚,回滚命令使数据库状态回到上次最后提交的状态,commit:提交

(4)SQL语句中,修改表结构的命令是(C)
A.modify table
B.modify structure
C.alter table
D.alter structure

修改表结构使用的关键字都是alter table 表名,在根据具体修改的语句,如:添加表字段
添加表字段:alter table table_name add 字段名称 字段类型
删除表字段:alter table table_name drop 字段名称
修改表字段:alter table table_name change 旧字段名称 新字段名称 字段类型
alter table table_name modify 字段名称 字段类型

(5)在SQL语句中,哪个语句能校验整数列i的值不小于1不大于10(A)
A.i between 1 and 10
B.i between 0 and 11
C.i in interval(0,11)
D.i in interval(1,10)

当interval作为一个函数时,他被当作一个比较函数,及interval(),例如interval(4,0,1,2,3,4,5,6),则在函数中,第一个数4作为被比较数,后面的数将一次与4比较,并返回小于等于4的个数,故上述的返回结果为5,注意,只有将4后面的数字从小到大排列,interval函数才能正常使用,若排序混乱,可以使用,但会影响最终结果
interval作为关键字时,当interval作为第一个关键字时,表示时间间隔,常用在date_add(),date_sub()函数中,常用于时间的加减法。
查询当前时间之前2个小时的日期:select now()-interval 2 hours

(6)SQL查询语句中where、group by 、having 这些关键字区别和用法总结错误的是(D)
A.having 在查询语句中必须依赖order by
B.where 子句用来限制select 语句从表中指定选取的行
C.group by 子句来分组where 子句的输出结果集
D.having 子句用来从分组的结果中筛选列

having 是分组查询时,在分组后条件过滤。这里的过滤是针对行过滤,不是筛选列

二、编程题

2.1 参数解析

2.1 题目

在这里插入图片描述

2.1 题解

思路本题通过空格和双引号对字符串进行分割,同时对于两个双引号之间的空格也需要被输出,因此我们的做法是利用count变量保存当前遇到的双引号的数量,当遇到空格时,如果count为偶数,说明该空格不在两个双引号之间,如果双引号的数量为奇数,说明该空格在两个双引号之间

代码:

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
     public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        String str=scanner.nextLine();
        //String str="xcopy /s c:\\\\ d:\\\\e\n";
        StringBuffer sb=new StringBuffer();
        List<String> list=new ArrayList<>();
        boolean flag=false;
        int count=0;
        int ret=0;
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='"'){
                count++;
                continue;
            }
            if(str.charAt(i)!=' '){
                sb.append(str.charAt(i));

            }else {
                if(count%2==1){
                    sb.append(str.charAt(i));
                }else {
                    ret++;
                    list.add(sb.toString());
                    sb=new StringBuffer();
                }
            }
        }
        list.add(sb.toString());
        ret++;
        System.out.println(ret);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}

2.2 跳石板(动态规划)

2.2.1 题目

在这里插入图片描述

2.2.2 题解

思路建立dp数组,dp[i]的含义就是从N号石板跳到 i 号石板所需的最少步数,因此dp数组的长度是M+1,最后返回dp[M],含义是从N号石板跳到M号石板所需的最少步数,即为题目所求
找出依赖关系:dp[i+j]=Math.min(dp[i+j],dp[i]+1),j为i号石板的约数

具体步骤:找出i 的所有约数,然后更新那几个能到达的位置的最小步数。如果不能到达则更新为此时位置的最小步数 +1。

代码

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
       int N=scanner.nextInt();
       int M=scanner.nextInt();
       int[] dp=new int[M+1];
   
       for(int i=0;i<=M;i++){
           dp[i]=Integer.MAX_VALUE;
       }
       dp[N]=0;
       for(int i=N;i<=M;i++){
          if(dp[i]==Integer.MAX_VALUE){
              continue;
          }
         List<Integer> list=div(i);
          for(int j:list){
              if(i+j<=M && dp[i+j]!=Integer.MAX_VALUE){
                dp[i+j]=Math.min(dp[i+j],dp[i]+1);
              }else if(i+j<=M){
                  dp[i+j]=dp[i]+1;
              }
          }
       }
       if(dp[M]==Integer.MAX_VALUE){
           System.out.println(-1);
       }else {
           System.out.println(dp[M]);
       }
    }
    public static List<Integer> div(int num){ 
        List<Integer> list=new ArrayList<>(); 
        for(int i=2;i*i<=num;i++){ if(num%i==0){
             list.add(i); 
             if(num/i!=i){
                  list.add(num/i); 
            } 
         }
     }
     return list;
   }
}

相关文章:

  • node.js基于微信小程序的外卖订餐系统 uniapp 小程序
  • u盘文件删除怎么恢复?解决方法很简单
  • 【刷题日记】笔试经典编程题目(八)
  • 阿里巴巴编程规范实战(一):编程规约之常量定义代码格式
  • 人生苦短 我用Python,零基础运行你的第一行Python代码
  • zabbix案例--zabbix监控nginx状态
  • 《Rust权威指南》读书笔记 - Chapter 1, 2
  • 框架学习——ElasticSearch分布式搜索框架
  • 羊了个羊数据结构分析与代码简单实现
  • Linux驱动开发10 --- 内存和I/O
  • 【大模型迁移 2022】Exploring Visual Prompts for Adapting Large-Scale Models
  • RDKit计算摩根分子描述符
  • 从事网络安全工作一定要科班出身吗?
  • 【BERT-多标签文本分类实战】之四——数据集预处理
  • FreeSWITCH 1.10 源码阅读(2)-xml_curl 模块原理
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • CSS3 变换
  • JavaScript的使用你知道几种?(上)
  • JavaScript设计模式之工厂模式
  • Java基本数据类型之Number
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 蓝海存储开关机注意事项总结
  • 扑朔迷离的属性和特性【彻底弄清】
  • 手写一个CommonJS打包工具(一)
  • 微服务框架lagom
  • 用mpvue开发微信小程序
  • 06-01 点餐小程序前台界面搭建
  • Java数据解析之JSON
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (k8s中)docker netty OOM问题记录
  • (Python) SOAP Web Service (HTTP POST)
  • (八)c52学习之旅-中断实验
  • (分布式缓存)Redis持久化
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四)鸿鹄云架构一服务注册中心
  • (转) Face-Resources
  • (转载)虚函数剖析
  • *** 2003
  • .a文件和.so文件
  • .net 程序发生了一个不可捕获的异常
  • .net 生成二级域名
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net6使用Sejil可视化日志
  • .Net的DataSet直接与SQL2005交互
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @Autowired和@Resource的区别
  • @Controller和@RestController的区别?
  • @RequestBody的使用