IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 每日一练(持续更新) -> 正文阅读

[数据结构与算法]每日一练(持续更新)

DAY01

选择题

  1. HashMap的数据结构是怎样的?
    A:数组
    B:链表
    C:数组+链表
    D:二叉树
    答:C,数组+链表
    解析:
    在Java中,数组和引用是最基本的两种结构,它们可以构造所有的数据结构,HashMap实际上是一个链表的数组,是数组和链表的结合体。HashMap底层就是一个数组结构,数组中的每一项又是一个链表。
  2. 以下关于构造方法的描述错误的是?
    A:构造方法的返回类型只能是void型
    B: 构造方法是类的一种特殊方法,它的方法名必须与类名相同。
    C:构造方法的主要作用是完成对类的对象的初始化工作。
    D:一个类可以定义多个构造方法
    答:A
    解析:
    ·Java中构造方法的特点有:构造方法名与类名相同;构造方法没有返回值类型,不写void;构造方法可以重载。
    ·Java中构造方法的作用:在创建对象时,给属性赋初值,构造方法在创建对象时被调用。
    ·Java中构造方法的分类:分为显示构造方法和隐式构造方法;当声明了构造方法时,系统不会提供隐式的默认的无参构造方法。
  3. 下列叙述错误的是?
    A:在接口中定义的方法除了 default 和 static 关键字修饰的方法拥有方法体,其他方法都应是没有方法体的抽象方法(JDK1.8以后)
    B:一个Java类只能有一个父类,但可以实现多个接口
    C:在类声明中,用 implements 关键字声明该类实现的接口
    D:定义接口时使用 implements 关键字
    答:D
    解析:
    JDK8开始,接口中可以定义有方法体的方法,方法必须被 default 和 static 修饰;Java是单继承,继承可以传递;在类的生命中用 implements 关键字实现接口,用 extends 关键字继承父类,先继承后实现;定义类时使用 class 关键字,定义接口时使用 interface 关键字。
  4. 下列哪种异常是检查型异常,需要在编写程序时声明?
    A:NullPointerException
    B:ClassCastException
    C:FileNotFoundException
    D:IndexOutOfBoundsException
    答:C
    解析:
    Java中异常通常分为编译时异常和运行时异常。编译时异常需要我们手动进行处理;运行时异常在运行时才会出现。C为检查型异常。
  5. 非抽象类实现接口后,必须实现接口中的所有抽象方法,除了 abstract 外,方法头必须完全一致。
    答案:错误
    解析:
    两同两小一大原则:方法名、参数类型相同(两同);子类返回类型小于等于父类返回类型、子类抛出异常大小小于等于父类抛出异常(两小);子类访问权限大于等于父类访问权限(一大)。
  6. 在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的?
    A:管道
    B:消息队列
    C:高速缓存数据库
    D:套接字
    答:A
    解析:
    暂无
  7. ResultSet 中记录行的第一列索引为?
    A:-1
    B:0
    C:1
    D:以上都不是
    答:C
    解析:
    ResultSet 不同于普通数组,其索引从1开始而不是0
  8. 以下代码将打印出
    A:com. jd
    B:com/jd/MyClass.class
    C:///MyClass.class
    D:com.jd.MyClass
public static void main (String[] args) { 
    String classFile = "com.jd.". replaceAll(".", "/") + "MyClass.class";
    System.out.println(classFile);
}

答:C
解析:
这个题目的坑在于 replaceAll 方法的第一个参数是一个正则表达式,"." 在正则表达式中表示任意字符,所以把前面字符串的所有字符全部替换为 “/”,若只想替换 “.”,可将第一个参数写为 “\.”

  1. Java关于异常处理机制的叙述哪些正确
    A:catch部分捕捉到异常情况时,才会执行finally部分
    B:当try区段的程序发生异常时,才会执行catch区段的程序
    C:在try区段不论程序是否发生异常及捕获到异常,都会执行finally部分
    D: 以上都是
    答:BC
    解析:
    将需要处理的代码放在 try 中,创建相应的 catch 块列表(try 后可能存在多个 catch 块,每个处理不同的异常),如果产生的异常与 catch 中的相匹配,那么 catch 中的块语句就会被执行。而 finally 语句是定义一个总是执行的代码,并不考虑异常是否被捕获。
  2. 已知 boolean result = false 则下面哪个选项是合法的?
    A:result=1
    B:result=true;
    C:if(result!=0) {//so something…}
    D:if(result) {//do something…}
    答:BD
    解析:
    boolean类型只有两个直接量值:true 和 false;除了成员变量会有默认初始值之外,其他变量必须在第一次使用之前初始化。注:String 默认初始为 null
数据类型默认初始值
byte(byte) 0
short(short) 0
int0
long0L
float0.0f
double0.0d
char\u0000
booleanfalse

编程题

leetcode 1816
句子是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。例如,“Hello World”、“HELLO” 和 “hello world hello world” 都是句子。给你一个句子 s?????? 和一个整数 k?????? ,请你将 s?? 截断 ?,???使截断后的句子仅含前 k?????? 个单词。返回 截断 s?????? 后得到的句子。

示例:
在这里插入图片描述

class Solution {
    public String truncateSentence(String s, int k) {
        int n = s.length();		//获取字符串长度
        int count = 0, end = 0; //count用来记录遍历过的单词数量,end用来记录截取字符串末尾下标
        for (int i = 0; i <= n; i++) {
        	//如果遇见' '或者到字符串末尾(i 等于字符串的长度的时候)count++
            if (i == n || s.charAt(i) == ' ') {
                count++;
                //当 count 等于给出的整数 k 的时候记录 i 的值为要截取的末端end
                if (count == k) {
                    end = i;
                    break;
                }
            }
        }
        //输出字符串 0 到 end 
        return s.substring(0, end);
    }
}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 12:17:52  更:2021-12-07 12:19:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:39:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码