【强训】Day13

news2024/11/25 19:51:58

努力经营当下,直至未来明朗!

文章目录

  • 一、选择
  • 二、编程
    • 1. 参数解析
    • 2. ★跳石板
  • 答案
    • 1. 选择
    • 2. 编程


普通小孩也要热爱生活!

一、选择

  1. 一个关系数据库文件中的各条记录 ()

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

  1. 下列关于视图的说法错误的是

A 视图是从一个或多个基本表导出的表,它是虚表
B 视图一经定义就可以和基本表一样被查询、删除和更新
C 某一用户可以定义若干个视图
D 视图可以用来定义新的视图

  1. 在Mysql中,订单表 ( 订单号,雇员代号,地区代号,订购日期 ) 中订单号为主键,要删除订单中前三年以前的信息, SQL 为:

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())

  1. 负责数据库中查询操作的数据库语言是( )。

A 数据定义语言
B 数据管理语言
C 数据操纵语言
D 数据控制语言

  1. SQL 语句中修改表结构的命令是()

A MODIFY TABLE
B MODIFY STRUCTURE
C ALTER TABLE
D ALTER STRUCTURE

  1. SQL 查询语句中 WHERE 、 GROUP BY 、 HAVING 这些关键字区别和用法总结错误的是()

A HAVING在查询语句中必须依赖于GROUP BY
B WHERE子句用来限制SELECT语句从表中指定选取的行
C GROUP BY子句用来分组WHERE子句的输出结果集
D HAVING子句用来从分组的结果中筛选列


二、编程

1. 参数解析

参数解析

请编写一个参数解析程序,实现将命令行各个参数解析出来。

解析规则:

1.参数分隔符为空格
2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” "d:“时,参数仍然是4个,第3个参数应该是字符串C:\program files,而不是C:\program,注意输出参数时,需要将”"去掉,引号不存在嵌套情况。
3.参数不定长
4.输入由用例保证,不会出现不符合要求的输入
① 数据范围:字符串长度:1≤s≤1000
② 进阶:时间复杂度:O(n) ,空间复杂度:O(n)


2. ★跳石板

跳石板

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…
这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达

例如:
N = 4,M = 24:
4->6->8->12->18->24
于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板


答案

1. 选择

  1. 关系数据库逻辑性强而物理性弱,也就是物理上的顺序并没有很大的影响。所以:关系数据库中的各条记录前后顺序可以任意颠倒,不影响库中数据的关系

故:选B

  1. ① 视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表
    ② 数据库中只存放视图的定义,不存放视图对应的数据,这些数据仍存在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之变化。
    ③ 视图就是一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。(数据只在基本表中存在)
    ④ 可以在一个视图之上再定义新的视图,但对视图的更新(增,删,改)操作则有一定的限制。

故:选B

  1. ① GETDATE() 函数从 SQL Server 返回当前的时间和日期
    ② DATEADD() 函数在日期中添加或减去指定的时间间隔
    DATEADD(datepart,number,date)
    date 参数是合法的日期表达式。
    number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数
    ④ datepart 参数可以是下列的值:
    0
    ⑤ 具体相关可以参考:SQL相关

故:选D
(前三年是过去时间,所以是负数;年是yy)

  1. SQL语言分类:(不一定)

数据定义语言 (Data Definition Language, DDL) :是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。

数据操纵语言(Data Manipulation Language,DML):用户通过它可以实现对数据库的基本操作。如:insert、update、delete、select
数据控制语言(Data Control Language,DCL) :是用来设置或者更改数据库用户或角色 权限 的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。
事务控制语言(Transaction Control Language,TCL):用于管理数据库中的事务。这些用于管理由 DML 语句所做的更改。它还允许将语句分组为逻辑事务。
TCL经常被用于快速原型开发、脚本编程、GUI和测试等方面。
TCL的核心指令为commit、rollback

故:选C

  1. ALTER TABLE 语句用于在已有的表中添加、删除或修改列。所以修改表结构使用的是alter table

故:选C

  1. 注意SQL语句的执行顺序!
    having只能用在group by之后,对分组后的结果进行筛选,筛选行(即使用having的前提条件是分组)。
    where肯定在group by 之前
    having在后,where在前!
    ④ where后的条件表达式里不允许使用聚合函数,而having可以。
    ⑤ 执行顺序:select--from--where--group by--having--order by
    ⑥ HAVING 子句用来从分组的结果中筛选,不是列,列是在select中选择输出的。

故:选D


2. 编程

  1. 参数解析

1)思路:

① 主要是考察String以及其间隔
② 是以空格以及双引号为间隔的,对于双引号中的空格要特殊处理
③ 对于双引号做标记flag,最后进行打印的时候就按照标记判断是否打印。
④ 注意统计参数个数的方式:引号外的空格数+1
⑤ 标记flag需要在0/1之间互变,使用按位异或1

2)代码:

// 参数解析
// 以空格作为分隔,引号中的空格要特别注意!
// 统计参数个数:除引号外的空格数+1

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        // 统计个数:空格+1,但是注意引号中的空格不算数
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            // 先判断引号
            if(str.charAt(i) == '"') {
                // 注意这里使用的是do...while循环
                do {
                    i++;
                } while (str.charAt(i) != '"');  // 停止++直到遇到下一个引号
            }

            // 然后判断空格(顺序不可以颠倒)
            if(str.charAt(i) == ' ') {
                count++;
            }
        }
        // 输出统计个数
        System.out.println(count+1);

        // 输出每一个参数:使用flag标记引号
        int flag = 1; // 首次遇到引号就变0,再遇到就变1
        for (int i = 0; i < str.length(); i++) {
            // 先判断是否遇到引号
            if(str.charAt(i) == '"') {
                // 使用按位异或
                flag ^= 1;
            }

            if (str.charAt(i)!=' ' && str.charAt(i)!='"') {
                // 直接进行输出
                System.out.print(str.charAt(i));
            } else if(str.charAt(i)==' ' && flag==1) {
                // 此时说明是真的空格,需要进行换行
                System.out.println();
            } else if (str.charAt(i)==' ' && flag==0) {
                // 引号中的空格,直接继续输出
                System.out.print(str.charAt(i));
            }
        }
    }
}

  1. 跳石板

1)思路:

① 使用“动归”进行解决!
steps[i]表示到达i号石板所需的最小步数初始化为steps容器为INT_MAX。
③ 从序号N的石板开始逐个遍历,若steps[i]为INT_MAX,表示该点不可到达,直接开始下次循环。若steps[i]不为INT_MAX,表示该点可以到达,下面求解编号i的约数,进行动态规划。
③ 动态规划的转移方程为:

  • steps[i+j] = min(steps[i]+1,steps[i+j]) //i为石板编号,j为i的约束
  • steps[N] = 0

④ 注意:对每一个台阶都要计算其约数进行存储,然后遍历该台阶上的约数进行判断比较。

2)代码:

// 跳石板
// 使用动归解决,还需要对每一级台阶进行约束存储
// 从n跳到m的最小次数

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    // 求约数:不含1和本身K
    private static List<Integer> div(int k) {
        List<Integer> number = new ArrayList<>();
        for (int i = 2; i <= (int) Math.sqrt(k); i++) {
            if (k % i == 0) {
                // 两个约数都需要!
                number.add(i);
                if (i != k/i) {
                    number.add(k/i);
                }
            }
        }
        return number;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();

        // steps[i]表示到到达第i级需要跳的次数!!!
        // 首先全部赋值为最大值,表示不可达
        int[] steps = new int[m+1];
        for (int i = 0; i < m+1; i++) {
            steps[i] = Integer.MAX_VALUE;
        }

        // 然后先将所在的台阶可以跳的次数/约束置0,也就是直接到达
        steps[n] = 0;
        // 开始从第n个台阶遍历,并计算每个台阶的约数
        for (int i = n; i < m; i++) { // 目标台阶不用进行步数统计,因为用不到
            if(steps[i] == Integer.MAX_VALUE) { // 表示该级台阶不可达
                continue;
            }
            // 求i的约数:使用链表进行存储,也就是在该级台阶上可以跳的台阶数
            List<Integer> number = div(i);
            // 遍历该约数链表,进行下一步走位的判断
            for (int j : number) {
                // j表示在该台阶上可以继续走多少个台阶
                // 这里的判断以及条件改变很重要!
                // 到新的台阶上的值要进行更新!
                if(i+j<=m  && steps[i+j]!=Integer.MAX_VALUE) { // 可以直达
                    steps[i+j] = Math.min(steps[i+j],steps[i]+1);
                } else if(i+j<=m) { // 不可以直达,要目前台阶开始跳
                    steps[i+j] = steps[i]+1;
                }
            }
        }
        if (steps[m] == Integer.MAX_VALUE) {
            System.out.println(-1);
        } else {
            System.out.println(steps[m]);
        }
    }
}

111

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言typedef的用法详解

C语言允许为一个数据类型起一个新的别名&#xff0c;就像给人起“绰号”一样。起别名的目的不是为了提高程序运行效率&#xff0c;而是为了编码方便。例如有一个结构体的名字是 stu&#xff0c;要想定义一个结构体变量就得这样写&#xff1a;struct stu stu1;struct 看起来就是…

图解项目延期的原因及解决应对方案大全

项目管理中经常出现项目延期的情况&#xff0c;面对项目延期的风险如何应对是考验每个项目经理管理水平的时候&#xff0c;很多人纵然是工作多年也没有对延期的种种情况进行总结思考。咱们社区的小竹对大家常见的项目延期情况及处理方案进行了详细全面的总结&#xff0c;供大家…

微服务 分片 运维管理

微服务 分片 运维管理分片分片的概念分片案例环境搭建案例改造成任务分片Dataflow类型调度代码示例运维管理事件追踪运维平台搭建步骤使用步骤分片 分片的概念 当只有一台机器的情况下&#xff0c;给定时任务分片四个&#xff0c;在机器A启动四个线程&#xff0c;分别处理四个…

Python类型-语句-函数

文章目录类型动态类型:变量类型会随着程序的运行发生改变注释控制台控制台输入input()运算符算术关系逻辑赋值总结语句判断语句while循环for循环函数链式调用和嵌套调用递归关键字传参在C/java中&#xff0c;整数除以整数结果还是整数&#xff0c;并不会将小数部分舍弃&#xf…

线上CPU飙高诊断定位

1. 先准备一段java程序&#xff0c;后台运行 2. 使用 top命令查看cpu的进程使用情况 在这里看到了一个进程占据了99.3%的cpu利用率&#xff0c;这显然是出现了cpu飙升的情况&#xff0c;这会到期系统其他进程得不到cpu的使用权&#xff0c;从而出现卡顿&#xff0c;因此需要进行…

第五章——大数定律和中心极限定理

文章目录1、大数定律1.1、弱大数定理&#xff08;辛钦大数定理&#xff09;1.2、伯努利大数定理2、中心极限定理2.1、独立同分布的中心极限定理2.2、李雅普诺夫定理2.3、棣莫弗——拉普拉斯定理2.4、中心极限定理的应用2.4.1、独立同分布的中心极限定理的应用2.4.2、棣莫弗——…

文件同步是什么?解析6个最佳的文件同步应用软件

文件同步应用程序是一项服务或程序&#xff0c;它提供了一种便捷的方式来在多台计算机或移动设备上自动文件同步。在登录文件同步应用程序的任何地方&#xff0c;都可以使用相同的文件来打开&#xff0c;编辑&#xff0c;复制&#xff0c;流式传输等&#xff0c;就像在最初上传…

重磅!微软推出首款 ChatGPT 版搜索引擎!

微软近期推出了首款 ChatGPT 版搜索引擎&#xff0c;今天带大家一起来看一下。 一夜之间&#xff0c;全球最大的科技公司仿佛都回到了自己年轻时的样子。 在谷歌宣布「实验性对话式人工智能服务」Bard 之后仅 24 小时&#xff0c;北京时间 2 月 8 日凌晨两点&#xff0c;微软发…

Linux安装达梦8数据库

Linux安装达梦8数据库 服务器系统&#xff1a;centos7 数据库版本&#xff1a;达梦8 先获取安装包&#xff1a;https://eco.dameng.com/download/?_blank 选择相应版本下载,下载完解压之后会得到一个iso文件&#xff0c;把他上传到服务器上&#xff0c;建议上传到/opt目录下…

深度复盘-重启 etcd 引发的异常

作者信息&#xff1a; 唐聪、王超凡&#xff0c;腾讯云原生产品中心技术专家&#xff0c;负责腾讯云大规模 TKE 集群和 etcd 控制面稳定性、性能和成本优化工作。 王子勇&#xff0c;腾讯云专家级工程师&#xff0c; 腾讯云计算产品技术服务专家团队负责人。 概况 作为当前中国…

linux Ubuntu KUbuntu 系统安装相关

系统安装 本来想快到中午的时候调试一下服务器上的http请求接收代码。我的电脑上装的是kali的U盘系统&#xff0c;然后我的U盘居然找不到了(然后之前安装的系统不知道是否是写入软件的原因&#xff0c;没办法解析DNS,我都用的转发的,这让我体验非常差。kali的系统工具很多&…

若依框架---树状层级部门数据库表

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

linux 安装,卸载jdk8

1>安装1 xshell,xsftp 教育版下载 https://www.xshell.com/zh/free-for-home-school/ 2下载jdk包 https://www.oracle.com/java/technologies/downloads/3在usr下新建java文件夹把jdk包拉进去解压tar -zxvf 4首先使用vim打开etc目录下的profile文件 --> vim /etc/profile…

【参加CUDA线上训练营】零基础cuda,一文认识cuda基本概念

【参加CUDA线上训练营】零基础cuda,一文认识cuda基本概念1.术语2.线程层次2.1 Block、Warp与Thread之间的关系2.2 Thread index1.术语 \\%序号名称描述1HostCPU和内存&#xff08;host memory&#xff09;2DeviceGPU和显存&#xff08;device memory&#xff09;3SMStreaming M…

【项目精选】基于Java的银行排号系统的设计与实现

银行排号系统是为解决一些服务业营业大厅排队问题而设计的&#xff0c;它能够有效地提高工作人员的工作效率&#xff0c;也能够使顾客合理的安排等待时间&#xff0c;让顾客感到服务的公平公正。论文首先讨论了排号系统的背景、意义、应用现状以及研究与开发现状。本文在对C/S架…

软件测试】测试时间不够了,我很慌?项目马上发布了......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 常见的几种情况&…

登录shell和非登录shell的区别

1.对登录shell和非登录shell配置文件的作用域不同 1.1 在登录shell生效的配置有5个&#xff0c;包括 /etc/profile、~/.bash_profile、~.bashrc、/etc/bashrc、/etc/profile.d/*.sh 1.2 在非登录shell生效的有3个&#xff0c;包括~.bashrc、/etc/bashrc、/etc/profile.d/*.sh所…

知乎kol投放怎么做?知乎kol资源从哪里找?

每个领域都有一些比较专业且具有话语权的大V博主&#xff0c;他们推荐某个产品或是品牌就能对粉丝产生很深的影响力&#xff0c;影响用户消费决策。 互联网时代&#xff0c;每个热门的内容平台上都活跃着一大批kol博主&#xff0c;做kol投放具有很高的商业价值。 知乎内容社区…

基于javaFX的固定资产管理系统

1. 总体设计 本系统分为登录模块、资产管理模块、资产登记模块和信息展示模块共四个模块。 登录模块的主要功能是&#xff1a;管理员通过登录模块登录本系统&#xff1b; 资产管理模块的主要功能有&#xff1a;修改、删除系统中的固定资产&#xff1b; 在资产登记模块中&#…

hgame2023 WebMisc

文章目录Webweek1Classic Childhood GameBecome A MemberGuess Who I AmShow Me Your BeautyWeek2Git Leakagev2boardSearch CommodityDesignerweek3Login To Get My GiftPing To The HostGopher Shopweek4Shared DiaryTell MeMiscweek1Where am I神秘的海报week2Tetris Master…