Java面向对象编程

2023-11-18

将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为() A. O(N * M * logN)

B. O(N*M)

C. O(N)

D. O(M)

答案:A

下设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,c,f,e,a,则栈S的容量至少为()

A. 6

B. 5

C. 4

D. 3

答案:D

大小为MAX的循环队列中,f 为当前队头元素位置,r 为当前队尾元素位置(最后一个元素的位置),则任意时刻,队列中的元素个数为()

A. r-f

B. (r-f+MAX+1)%MAX

C. r-f+1

D. (r-f+MAX)%MAX

答案:B

HASH 函数冲突处理方式不包括以下哪一项()

A. 开放定址法

B. 链地址法

C. 插入排序法

D. 公共溢出区法

答案:C

若一棵二叉树具有12个度为2的结点,6个度为1的结点,则度为0的结点个数是()

A. 10

B. 11

C. 13

D. 不确定

答案:C

()二叉排序树可以得到一个从小到大的有序序列。

A. 先序遍历

B. 中序遍历

C. 后序遍

D. 层次遍历

答案:B

已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,最后的叶子节点为()

A. 34

B. 21

C. 16

D. 12

答案:C

已知某个哈希表的n个关键字具有相同的哈希值,如果使用二次探测再散列法将这n个关键字存入哈希表,至少要进行____次探测。

A. n-1

B. n C. n+1

D. n(n+1)

E. n(n+1)/2

F. 1+n(n+1)/2

答案:E

下列选项中,不可能是快速排序第2趟排序结果的是 ()

A. 2,3,5,4,6,7,9

B. 2,7,5,6,4,3,9

C. 3,2,5,4,7,6,9

D. 4,2,3,5,7,6,9

答案:C

下列选项中,不可能是快速排序第2趟排序结果的是 ()

A. 2,3,5,4,6,7,9

B. 2,7,5,6,4,3,9

C. 3,2,5,4,7,6,9

D. 4,2,3,5,7,6,9

答案:C

年终奖
题目描述:小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物, 每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设 计一个算法使小东拿到价值最高的礼物。 
给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。
public class getMost {

    //年终奖

    public int getMost(int[][] borad){

        int row=borad.length;

        int col=borad[0].length;

        //处理第一行

        for (int i = 1; i < col; ++i) {

            borad[0][i] +=borad[0][i-1];

        }

        //处理第一列

        for (int i = 1; i < row; ++i) {

            borad[i][0] +=borad[i-1][0];

        }

        //处理剩余位置

        for (int i = 1; i < row; ++i) {

            for (int j = 1; j < col; ++j) {

                //F(i,j) = max(F(i-1 ,j), F(i,j-1)) + borad[i][j]

                borad[i][j] += Math.max(borad[i-1][j],borad[i][j-1]);

            }

        }

        return borad[row-1][col-1];

    }

}
迷宫问题
题目描述:定义一个二维数组 N*M ,如 5 × 5 数组下所示:
int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, };
 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格 是可以走的路。 
数据范围:2<= n,m<=10 , 输入的内容只包含0<=val<=1
 输入描述:输入两个整数,分别表示二维数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0表示可以走的路。数据保证有唯一解,不考虑有多解的情况,即迷宫只 有一条通道。 
输出描述:左上角到右下角的最短路径,格式如样例所示。

 

class Node{

    int x;

    int y;

    public Node(int x,int y){

        this.x=x;

        this.y=y;

    }

}



public class Main39 {

    public static void main(String[] args) throws Exception{

        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));

        String str;

        while ((str =reader.readLine()) !=null){

            String[] arr=str.split(" ");

            int row=Integer.parseInt(arr[0]);

            int col=Integer.parseInt(arr[1]);

            //创建迷宫矩阵

            int[][] mat=new int[row][col];

            //读入迷宫数据

            for (int i = 0; i < row; ++i) {

                str=reader.readLine();

                arr=str.split(" ");

                for (int j = 0; j < col; ++j) {

                    mat[i][j]=Integer.parseInt(arr[j]);

                }

            }

            //搜索最短路径

            ArrayList<Node> path=new ArrayList<>();

            ArrayList<Node> minPath=new ArrayList<>();

            int[][] book=new int[row][col];

            getMinPath(mat,row,col,0,0,book,path,minPath);



            //打印最短路径

            for (Node n: minPath) {

                System.out.println("(" + n.x +","+ n.y+")");

            }

        }

    }



    //mat: 迷宫矩阵,row,col

    //x,y :当前位置

    //book: 标记矩阵,标记当前位置是否走过

    //path: 保存当前路径的每一个位置

    //minPath: 保存最短路径

    public static void getMinPath(int[][] mat,int row,int col,int x,int y,int[][] book,

                                  ArrayList<Node> path,ArrayList<Node> minPath){



        //判断(x,y):是否越界,是否走过,是否有障碍

        if (x < 0 || x>=row || y<0 || y>=col || book[x][y]==1 || mat[x][y]==1){

            return;

        }

        //把当前位置存入路径中

        path.add(new Node(x,y));

        //标记当前位置

        book[x][y]=1;

        //判断当前位置是否为出口

        if (x==row-1 && y==col-1){

            //一条新的路径产生

            //判断是否为更短的路径

            if (minPath.isEmpty() || path.size()<minPath.size()){

                //更新最短路径

                minPath.clear();

                for (Node n:path) {

                    minPath.add(n);

                }

            }

        }

        //继续搜索(x,y)的上下左右四个方向

        getMinPath(mat,row,col,x+1,y,book,path,minPath);

        getMinPath(mat,row,col,x-1,y,book,path,minPath);

        getMinPath(mat,row,col,x,y-1,book,path,minPath);

        getMinPath(mat,row,col,x,y+1,book,path,minPath);

        //把当前位置从路径中删除,寻找新的路径

        path.remove(path.size()-1);

        book[x][y]=0;

    }

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java面向对象编程 的相关文章

  • Java中如何动态添加charsequence[]中的数据?

    初始化的一种方法charsequence is charsequence item abc def 但我不想以这种方式初始化它 有人可以建议其他方式吗 比如我们初始化的方式string arrays 首先 修复变量声明 charsequen
  • 如何避免 Java 中的忙旋转

    我有一个多线程应用程序 其中一个线程向另一个线程发送消息 等待线程轮询消息并做出反应 处理锁 像这样 等待线程代码 while true if helloArrived System out println Got hello if bye
  • Java 相当于 Perl 的 s/// 运算符?

    我有一些代码正在从 Perl 转换为 Java 它大量使用了正则表达式 包括s 操作员 我已经使用 Perl 很长时间了 但仍然习惯 Java 的做事方式 特别是 字符串似乎更难使用 有谁知道或有一个完全实现的Java函数s 这样它就可以处
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • Java 中支持多少维数组,例如 a[1][1][1][1]....[1]? [复制]

    这个问题在这里已经有答案了 Java支持多少维数组a 1 1 1 1 1 我可以为数组声明无限数量的维度吗 数组维数限制为 255 有趣的是 JLS定义的Java编程语言没有这样的限制 但是你可以在JVM规范 http docs oracl
  • IntSummaryStatistics的summaryStatistics方法

    为什么空 IntStream 上的 summaryStatistics 方法返回整数的最大和最小值作为流中存在的最大和最小 int 值 IntStream intStream IntStream of IntSummaryStatistic
  • 如何使 ScheduledExecutorService 在计划任务取消时自动终止

    我正在使用一个ScheduledExecutorService如果网络连接已打开超过几个小时 则关闭该连接 然而 在大多数情况下 网络连接在超时之前就关闭了 所以我取消了ScheduledFuture 在这种情况下 我还希望执行程序服务终止
  • 解密 TLS 1.2 AES-GCM 数据包

    我正在开发一个 Java 程序来解密TLS 1 2正在使用的会话TLS RSA WITH AES 128 GCM SHA256密码 我使用wireshark 录制了一个测试会话 这大师秘密是已知的 No Time Protocol Leng
  • 将 RequestBody json 转换为对象 - Spring Boot

    我是 java 开发的初学者 但之前有 PHP 和 Python 等编程语言的经验 对于如何进行 Spring Boot 的开发几乎没有什么困惑 我正在开发一个rest API 它有以下请求 key value key1 value1 pl
  • 整数与 int 比较

    我是新来的java 我现在正在学习非原始整数类型java 我知道以下比较无效并引发编译错误 String str c Char chr c if str chr return true 上面的代码片段给了我 Test java lineNu
  • a4j:commandLink 重新渲染后停止工作

    我创建了这个测试用例来隔离我的问题 一旦轮询执行 ajax 更新 a4j commandLink 操作就不会执行 如果我们在轮询重新渲染之前关闭 modalPanel 则会执行它 有什么建议吗 提前致谢 测试 xhtml
  • Java检测鼠标长按

    如果用户按下 JList 组件超过 3 秒 有什么方法可以捕获事件吗 我发现困难的部分是即使在用户松开鼠标左键之前也需要触发事件 这可以通过 mousePressed 和 mouseReleased 组合轻松完成 您可以在 mouseDow
  • Spring Boot 多部分文件始终为 null

    我正在使用 Spring Boot version 1 4 0 RC1 和 Spring Boot Stormpath 1 0 2 我正在尝试使用分段文件上传 但控制器中的 MultipartFile 始终为空 当我使用 RequestPa
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • java.lang.ClassCastException: [B 无法转换为 java.lang.String

    我编写了一个带有字段 LoginId 和密码的实体类 我使用 AES ENCRYPT 加密密码并将其存储在数据库中 我只想检索已解密的密码 所以 我使用 AES DECRYPT 使用本机查询是在 OPen JPA 2 0 中 我写的查询是
  • logcat 信息出现在 Android Studio 的“运行”选项卡中

    我的 android studio 运行选项卡很简单 然后它变得更难并给我更多信息 例如 logcat 中的信息 如何禁用或删除第二张图片中出现的更多信息并返回到第一张图片中的第一个外观 我只需要正在运行的 flutter 应用程序的日志输
  • 有没有办法处理Java堆空间异常[重复]

    这个问题在这里已经有答案了 我正在寻找将文件输入流转换为大文件 文件大小为 100MB 并且抛出 java lang OutOfMemoryError Java Heap space import java io FileInputStre
  • 文档过滤器在 Java 中不起作用?

    在超过 10 个字符的文本字段中 它必须显示错误 为此 我使用了文档过滤器 JTextField field JTextField txtFld AbstractDocument document AbstractDocument fiel
  • 删除Java中重载的方法

    有2个重载方法 这些方法中的每一个都将一种类型的列表转换为不同类型的列表 但第一种方法使用比较器 class SomeClass public static
  • 在java中打印阿拉伯字符串

    我试图在 java 中显示阿拉伯语文本 但它显示垃圾字符 示例 或有时在我打印时仅显示问号 我如何才能打印阿拉伯语 我听说它与unicode和UTF 8有关 这是我第一次使用语言 所以不知道 我正在使用 Eclipse Indigo IDE

随机推荐

  • 论文笔记:Continuous Trajectory Generation Based on Two-Stage GAN

    2023 AAAI 1 intro 1 1 背景 建模人类个体移动模式并生成接近真实的轨迹在许多应用中至关重要 1 生成轨迹方法能够为城市规划 流行病传播分析和交通管控等城市假设分析场景提供仿仿真数据支撑 2 生成轨迹方法也是目前促进轨迹数
  • Augmented Language Models(增强语言模型)

    Augmented Language Models A Survey 先上地址 https arxiv org pdf 2302 07842 pdf 概率论难以支撑通用人工智能技术的诞生 Yann LeCun LLMs取得的巨大进展不再多说
  • Windows 端 VS Code 远程连接服务器以及配置服务器上的 Jupyter Notebook 环境

    Windows 端 VS Code 远程连接服务器以及配置服务器上的 Jupyter Notebook 环境 一 VS Code 配置远程连接 1 Windows 下生成 ssh 密钥 打开命令提示符窗口 执行以下命令 ssh keygen
  • 【计算机视觉

    文章目录 一 检测相关 8篇 1 1 Impact of Image Context for Single Deep Learning Face Morphing Attack Detection 1 2 A Theoretical and
  • IPVS direct routing on top of openstack (by quqi99)

    作者 张华 发表于 2023 07 12 版权声明 可以任意转载 转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 IPVS是Linux内核态的一个L4 LB KTCPVS Kernel TCP Virtual Server则
  • 芯片内部flash的读写(有指针变量和地址的区别)—HAL库

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 Flash是什么 怎么判断芯片Flash的大小 二 在Flash哪里开始存数据 三 Flash读写的代码怎么写 1 程序思路 指针变量和地址的区别 2 F
  • 嵌入式毕设项目 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 4 1 MAX30102模块 4 2 GSM模块 4 3 ADXL345加速度传感器 5 部分核心代码 5 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断
  • 使用 iView Upload 组件实现手动上传文件

  • 【工具】使用npx一行命令就能压缩js文件

    有的时候要想压缩单个js文件 如果用webpack和gulp可能要配置一些东西 而用npx就可以帮我们一行命令就简单压缩js文件 1 只压缩js文件 npx uglify js main js o main min js 压缩后的新文件如下
  • Unity Hub 无法登陆解决办法

    问题描述 今天突然突然发现unityhub无法登录 输入账号密码后网页白屏 解决办法 找到unity程序的重装程序 打开unityhub属性 跟unityhub一个目录 名字为 Uninstall Unity H ub 运行 安装好后再试一
  • 电脑电池,笔记本电脑

    给大家纠正完了在比较电池容量方面的错误观念 下面我们来罗列几种在使用笔记本过程中可能会严重伤害到电池的坏习惯 看看你是否有中招 错误使用笔记本电脑电池习惯举例 1 不安装电池使用笔记本电脑 现在的主流笔记本厚度逐渐变小 电池也采用了内置不可
  • 孔乙己:跟我学做菜……不,多线程吧!

    孔乙己一到店 所有上机的人便都看着他笑 有的叫道 孔乙己 你的github上又添star了 他不回答 对柜里说 开个机子 再来个9块9套餐 便排出九行大钱 现钱 他们又故意高声的嚷道 你一定又翻墙了吧 孔乙己睁大眼睛说 你怎么这样凭空污人家
  • Fiddler 教程

    Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一 它能记录所有客户端和服务器的http和https请求 允许你监视 设置断点 甚至修改输入输出数据 使用Fiddler无论对开发还是测试来说 都有很大的帮助 阅读目录 F
  • CiteSpace关键词共现图谱含义详细解析与注意事项

    本文以CiteSpace软件做的关键词共现分析为例 进行关键词共现图谱含义详细解析 作者 机构 国家 学科 COOC软件可做 等网络分析与此类似 关键词是一篇论文的核心概括 对论文关键词进行分析可对文章主题窥探一二 而一篇论文给出的几个关键
  • 【golang】15、cobra cli 命令行库

    Cobra 是 golang 最流行的命令行库 文档见 一 脚手架 mkdir pt cd pt go mod init cobra cli init 在项目下运行即可生成脚手架 tree LICENSE cmd 生成了cmd目录 root
  • 求平均数的几种方法

    平均数 给定两个数a和b 求其平均值 分析 数学运算中一贯的算法是 a b 2 但在c语言中这种算法存在着一定的缺陷 当a和b足够大时 a和b的和就会存在溢出 从而得不到我们想要的结果 c语言中有相应的操作符可达到求平均数的效果 例如 gt
  • 刷脸支付推动产业智慧升级是大势所趋

    近日 浙江省绍兴市上虞区将 刷脸支付 功能向基层延伸 率先实现全区安全范围内的全覆盖 刷脸就医在全国范围内不断实现 在这个充满诱惑的时代 代理刷脸支付这个蓝海项目是许多想做刷脸支付的创业者急需的内容 刷脸支付 这项技术自面世以来就充斥着各种
  • 解决redis-server.exe不是内部或外部命令

    报错 redis server exe不是内部或外部命令 原因 未进入到redis的安装目录下 解决 先找到redis安装路径 复制之后 在终端中输入cd xxxxx redis的安装路径 进入安装目录之后再次输入redis server
  • 深入学习jquery源码之data()

    深入学习jquery源码之data jQuery data element key value 概述 在元素上存放数据 返回jQuery对象 注意 这是一个底层方法 你应当使用 data 来代替 此方法在jQuery 1 8中删除 但你仍然
  • Java面向对象编程

    将N条长度均为M的有序链表进行合并 合并以后的链表也保持有序 时间复杂度为 A O N M logN B O N M C O N D O M 答案 A 下设栈S的初始状态为空 元素a b c d e f依次入栈S 出栈的序列为b d c f