【强训】Day07

news2024/11/27 22:20:47

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

文章目录

  • 一、选择
  • 二、编程
    • 1. Fibonacci数列
    • 2. 合法括号序列判断 ☆
  • 答案
    • 1. 选择
    • 2. 编程


普通小孩也要热爱生活!

一、选择

  1. Math.round(11.5) 等于()

A 11
B 11.5
C 12
D 12.5

  1. 以下对继承的描述错误的是()

A Java中的继承允许一个子类继承多个父类
B 父类更具有通用性,子类更具体
C Java中的继承存在着传递性
D 当实例化子类时会递归调用父类中的构造方法

  1. 以下 _____ 不是 Object 类的方法。

A clone()
B finalize()
C toString()
D hasNext()


二、编程

1. Fibonacci数列

Fibonacci数列

给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N,求最少需要多少步可以变为Fibonacci数


2. 合法括号序列判断 ☆

合法括号序列判断

给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。


答案

1. 选择

  1. Math.round();其实就类似于“四舍五入”,但是对于正数是“四舍五入”,对于负数的话就是“五舍六入”。(一切向大了看起。

如: ① Math.round(11.5) == 12;
② Math.round(-11.5) == -11;
③ Math.round(-11.6) == -12;

故:选C

  1. ① 注:java中不支持类的多继承,只有单继承;类可以实现多个接口,接口对接口可以是多继承
    ② 在类前加一个修饰符final后,不可以再被继承!(String就是用final修饰的,不能被继承)
    ③ 子类构造方法中默认有super();
    ④ 注意super、的三种使用方式
    ⑤ 同一个父类可以被多个子类继承,但是一个子类只能继承一个父类。
    ⑥ 注意:初始化的顺序父子静态、父实例、子实例
    ⑦ 参考:继承

故:选A

  1. ① Object类的方法:
    2
    ② Object中没有hasNext() 方式,这个方法是迭代器Iterator中的
    ③ Object没有copy方法,但是有clone()方法, 用于创建并返回该对象的一个副本
    ④ 注:getClass是一个final方法,用于返回运行时类。
    ⑤ finalize方法:该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

故:选D

  1. java 语言使用的字符码集是:Unicode

2. 编程

  1. Fibonacci数列

1)思路

① Fibonacci数列:第一项第二项是1,此后F(n)=F(n-1)+F(n-2)。 (可以递归 or 迭代√ )
② 先找到距离N最近的两个Fibonacci数,这两个数分别取自距离N的最近的左边一个数L和右边一个数R,然后通过min(N - L, R - N)找到最小步数。
③ 最小步数也就是与最近的Fibonacci数相差最小值(一步只能+1 or -1)。
④ 要同时找左边和右边,也就是L<=N<=R.
⑤ 注意计算时候的循环条件!!(一旦找到大于N的就停止,此时L也可以拿到)

2) 代码

import java.util.Scanner;

// 再写一次:尤其要注意循环条件(也就是:找L与R的过程!!)
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNextInt()) {
            int n = in.nextInt();
            // 使用迭代计算Fibonacci
            // 注意初始值,否则可能会出现负数的情况
            int f1 = 1;
            int f2 = 1;
            int f3 = 2;
            while (n > f3) {
                // 开始进行变换继续计算Fibonacci
                f1 = f2;
                f2 = f3;
                f3 = f1+f2;
            }
            // 出来说明:n<=f3,此时:
            // f2 < n <=f3
            // 然后计算f2、f3与n的差值,取最小值就是步数
            int step = Math.min(n-f2,f3-n);
            System.out.println(step);
        }
    }
}


  1. 合法括号序列判断 ☆

1)思路

① 本题考察的其实是栈!
② 用栈结构实现,栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,则说明不匹配。
③ 简单讲:栈中放左括号,遇到有右括号出栈继续,否则就是不匹配!
④ 原理:栈是“先进后出”结构的,而括号是最近的进行匹配。
⑤ 一定不要忘记条件判断!
⑥ 最后匹配完成后栈应该是空!

2)代码

import java.util.*;

public class Parenthesis {
    public boolean chkParenthesis(String A, int n) {
        // 一定不要忘记进行条件判断
        if(n%2 != 0) {
            // 如果括号是单数,根本没有判断的必要
            return false;
        }

        // 栈是先进后出,括号是最近的匹配
        Stack<Character> stack = new Stack<>();

        // 进行遍历:入栈和匹配出栈操作
        for (int i = 0; i < A.length(); i++) {
            char ch = A.charAt(i);
            if(ch == '(') {
                // 左括号进行入栈操作
                stack.push(ch);
            } else if(ch == ')'){
                // 如果是右括号
                // 栈不为空时才可以进行出栈操作,一旦栈为空就是false
                if(stack.isEmpty()) {
                    return false;
                }
                stack.pop();
            } else {
                // 除了()之外的字符
                return false;
            }
        }
        // 最后判断的条件:匹配完成后栈应该是空
        return stack.isEmpty();
    }
}

yyy

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

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

相关文章

Spring Boot(五十四):SpringBoot事件监听机制

1 Java监听机制 SpringBoot 的监听机制&#xff0c;其实是对Java提供的事件监听机制的封装。 Java中的事件监听机制定义了以下几个角色&#xff1a; 事件&#xff1a;Event&#xff0c;继承 java.util.EventObject 类的对象事件源&#xff1a;Source &#xff0c;任意对象Ob…

Unet网络解析

1 Unet网络概述 论文名称&#xff1a;U-Net: Convolutional Networks for Biomedical Image Segmentation 发表会议及时间 &#xff1a;MICCA ( 国际医学图像计算和 计算机辅 助干预会 议 ) 2 0 1 5 Unet提出的初衷是为了解决医学图像分割的问题。 Unet网络非常的简单&…

leetcode 2246. Longest Path With Different Adjacent Characters(不同相邻字母的最长路径)

给一棵以节点0为根的树&#xff08;不一定是二叉树&#xff09;&#xff0c;共有n个节点&#xff0c;0&#xff5e;n-1&#xff0c; 同样的&#xff0c;有长度为n的数组parent, parent[i]表示第 i 个节点的parent, 0的parent是-1. 长度为n的字符串&#xff0c;s(i)表示第i个节点…

JSPmvc

一、JSP 概述 JSP&#xff08;全称&#xff1a;Java Server Pages&#xff09;&#xff1a;Java 服务端页面。是一种动态的网页技术&#xff0c;其中既可以定义HTML、JS、CSS等静态内 容&#xff0c;还可以定义 Java代码的动态内容&#xff0c;也就是 JSP HTML Java 。如下就…

【金融】新成立基金建仓时点、行业分布与市场行情关系探究

需要进一步交流&#xff0c;获取数据和代码的同学欢迎私信奥~基于新成立基金建仓带入市场的巨量资金会推动市场行情这一逻辑&#xff0c;开展了一系列研究。首先提出了通过基金净值识别建仓行为&#xff08;累计绝对值涨跌幅法&#xff09;和通过基金β值识别建仓行为&#xff…

Vue知识系列-VS Code的安装+Vue环境的搭建+Vue指令

一、VS Code下载地址 Visual Studio Code - Code Editing. Redefined 二、VS Code初始化设置 1.安装插件 在安装好的VSCode软件的扩展菜单中查找安装如下4个插件 2、创建项目 vscode本身没有新建项目的选项&#xff0c;所以要先创建一个空的文件夹&#xff0c;如project_xx…

自主异常检测算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

AppScan 扫描web应用程序

系列文章 AppScan介绍和安装 第二节-AppScan 扫描web应用程序 1.环境布置 我们准备了如下一个靶场用来做实验 2.扫描步骤 1.启动AppScan 2.选择 【扫描web应用程序】 3.输入起始URL&#xff0c;点击【下一步】 http://127.0.0.1:83/4.选择【不使用代理】,点击【下一…

ctfshow php特性[125-135]

&#x1f60b;大家好&#xff0c;我是YAy_17&#xff0c;是一枚爱好网安的小白&#xff0c;自学ing。 本人水平有限&#xff0c;欢迎各位大佬指点&#xff0c;一起学习&#x1f497;&#xff0c;一起进步⭐。⭐此后如竟没有炬火&#xff0c;我便是唯一的光。⭐web 125<?php…

word怎么转换成pdf?其实很简单,看这里即可!

转眼间又到了校招的季节&#xff0c;想必许多小伙伴都在忙着编辑自己的简历吧。不过&#xff0c;咱们编辑的时候常常用到的都是word文件&#xff0c;但是当我们要将文件投递出去的时候就需要用到pdf了。其实不仅仅是投递简历&#xff0c;许多地方在要求我们发送正式文件的时候都…

vue+node+mysql全栈项目完整记录

文章目录vuenodemysql全栈项目完整记录写在前面项目最终界面展示项目框架搭建后端创建后端项目编写入口文件数据库及数据库使用前端创建前端项目使用elementUI必要包安装设置跨域访问&#xff0c;全局挂载axios删除无用的文件和代码设置统一的页面样式主页面页面设计路由设计登…

【C语言】柔性的数组是什么?C/C++程序的内存开辟又是?

本文主要讲解柔性数组的相关知识点&#xff0c;并穿插一下C/C程序的内存开辟&#xff0c;涉及到动态内存管理函数&#xff0c;如有不了解的&#xff0c;请参考这一篇文章【C语言】小王带您轻松实现动态内存管理&#xff08;简单易懂&#xff09;_小王学代码的博客-CSDN博客 目录…

【C++】类和对象【下篇】--初始化列表,static成员,友元,内部类,匿名对象

文章目录一、再谈构造函数1.构造函数体赋值2.初始化列表1.概念2.特性二、隐式类型转换1.概念2.构造函数的类型转换3.explict关键字4.类型转换的意义三、Static成员1.概念2.static成员变量3.static成员函数四、友元1.友元函数2.友元类五、内部类六、匿名对象七、拷贝对象时的一些…

深入使用noexcept

深入使用noexcept简介好处坏处适用场景不适用场景实验结果总结参考资料简介 noexcept是C11引入的&#xff0c;表明函数是否会抛出异常。正确使用它可以优化性能&#xff0c;错误使用则会带来麻烦。 noexcept使用语法有两种&#xff1a; noexcpetnoexcept(expression) 第二种…

如何提高系统稳定性?

1、系统稳定性的评判标准 在开始谈稳定性保障之前&#xff0c;我们先来聊聊业内经常提及的一个词SLA&#xff01;业内喜欢用SLA &#xff08;服务等级协议&#xff0c;全称&#xff1a;service level agreement&#xff09;来衡量系统的稳定性&#xff0c;对互联网公司来说&am…

测试开发知识总结(一)

本文内容顺序&#xff1a;测试基础理论、测试岗经常被问到的场景题、智力题、测试岗高频算法题、数据库、Linux知识点。常用自动化测试工具1、Appium官网&#xff1a;http://appium.ioAppUI自动化测试Appium 是一个移动端自动化测试开源工具&#xff0c;支持iOS 和Android 平台…

为什么很少拿神经网络来直接做滤波器呢?

其实无论是IIR&#xff08;RNN&#xff09;还是FIR(CNN)滤波器都可以看成一个简单神经网络&#xff0c;而且有严格的推理&#xff0c;可解释性比神经网络强多了&#xff0c;而已易于工程实现&#xff0c;因此在工程中大量应用。你说的含色噪声和其他乱七八糟的噪声难以滤除时&a…

ROS | Realsense中的IMU解算orientation

文章目录概述一、定义介绍二、操作教程(一)、下载并编译imu_tools功能包1.创建工作空间并初始化2.下载imu_tools并编译(二)、修改配置1.修改imu_tools源码2.修改launch文件3.启动解算概述 本文详细介绍了如何使用ROS自带的工具解算6轴IMU&#xff0c;获取其位姿。 一、定义介绍…

mybatis之动态SQL常见标签的使用

引入where标签的原因&#xff1a; 在上篇文章使用if语句的查询中&#xff0c;我们在SQL语句后面都写入了where 11&#xff0c;以保证每次都能够查询出结果&#xff0c;但这种方法并不是最合理的&#xff0c;假设我们现在将where后面的11去掉&#xff1a; 如下所示&#xff1a…

上午摆摊,下午写代码,35岁程序员的双面人生超爽!

最近看到一个程序员发帖分享自己的工作&#xff1a;白天出摊卖馄饨&#xff0c;下午在家为海外公司全职远程工作。“年入百万是可以的&#xff0c;并且我老家是三线城市&#xff0c;没有房租、通勤费用&#xff0c;性价比还是很高的。” 对比在大城市天天996的程序员&#xff0…