【Java笔试强训】(1)

news2024/12/22 23:34:56

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!

欢迎志同道合的朋友一起加油喔🦾🦾🦾


目录

一、选择题

二、编程题

🔥组队竞赛

🔥删除公共字符 



一、选择题

1、在 Java 中,存放字符串常量的对象属于( )类对象。
A Character
B String
C StringBuffer
D Vector

正确答案: B
参考答案:Character是一个包装类,字符类型;String是一个字符串;Vector是一个集合类,也不能直接定义一个常量。

String s="hello";//这是一个字符串常量
StringBuffer sb="hello";//这里会出现编译错误,不能直接赋予常量,要想获得一个常量,必须new

2、已知如下类定义:

class Base {
public Base (){
//...
}
public Base ( int m ){
//...
}
public void fun( int n ){
//...
}
}
public class Child extends Base{
// member methods
}

如下哪句可以正确地加入子类中?
A private void fun( int n ){ //…}
B void fun ( int n ){ //… }
C protected void fun ( int n ) { //… }
D public void fun ( int n ) { //… }
正确答案: D
参考答案:
子类要和父类的fun方法构成重写,子类要和父类构成重写,子类修饰限定词一定要大于等于父类的修饰限定词

class Base {//Base类
public Base (){//不带参数构造方法
//...
}
public Base ( int m ){//带一个参数构造方法,和上面构成了重载
//...
}
public void fun( int n ){
//...
}
}
public class Child extends Base{
// member methods
}

3、下列选项中属于面向对象设计方法主要特征的是( )
A 继承
B 自顶向下
C 模块化
D 逐步求精
正确答案: A
参考答案:
面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性。
结构化程序设计原则: 自顶向下、 模块化、逐步求精。

4、关于下列程序段的输出结果,说法正确的是:( )

public class MyClass{
static int i;
public static void main(String argv[]){
System.out.println(i);
}
}

A 有错误,变量i没有初始化。
B null
C 1
D 0
正确答案: D
参考答案:成员变量没有初始化,int默认是0。

5、下列代码的执行结果是:( )

public class Test3{
public static void main(String args[]){
System.out.println(100%3);
System.out.println(100%3.0);
}
}

A 1和1
B 1和1.0
C 1.0和1
D 1.0和1.0
正确答案: B

6、在基本 JAVA 类型中,如果不明确指定,整数型的默认是 __ 类型,带小数的默认是 __ 类型? ( )

A int float
B int double
C long float
D long double
正确答案: B

7、方法通常存储在进程中的哪一区()
A 堆区
B 栈区
C 全局区
D 方法区
正确答案: D

8、不考虑反射,关于私有访问控制符 private 修饰的成员变量,以下说法正确的是()
A 可以三种类所引用:该类自身、与它在同一包中的其他类,在其他包中的该类的子类
B 可以被两种类访问和引用:该类本身、该类的所有子类
C 只能被该类自身所访问和修改
D 只能被同一个包中的类访问
正确答案: C
参考答案:private修饰的只能在该类自己类中使用
9、类声明中,声明一个类不能再被继承的关键字是()
A public
B abstract
C final
D static
正确答案: C
参考答案:
abstract类可以有抽象方法,也可以有非抽象方法,可以被继承,但是要重写父类的方法。static是静态类。
10、假设 A 类有如下定义,设 a 是 A 类的一个实例,下列语句调用哪个是错误的?()

public class A
{
public int i;
static String s;
void method1(){}
static void method2(){}
}

A System.out.println(a.i);
B a.method1();
C A.method1();
D A.method2();
正确答案: C
参考答案:
static关键词修饰的变量或方法可以通过类名直接调用,而非静态的变量或方法无法通过类名直接调用。类里面的成员变量或方法可以通过实例化的对象来访问。

二、编程题

🔥组队竞赛

组队竞赛_牛客笔试题_牛客网

解题思路:【解题思路】:
本题的主要思路是贪心算法,贪心算法其实很简单,就是每次选值时都选当前能看到的局部最解忧,所以这里的贪心就是保证每组的第二个值取到能选择的最大值就可以,我们每次尽量取最大,但是最大的数不可能是中位数,所以退而求其次,取 每组中第二大的。
如何分组,总和值最大?
1、首先对数组进行排序
2、推到公式arr.length-2*(i+1)

代码如下:

import java.util.*;
public calss Main{
  public static  void main(String[] args){
     Scanner sc=new Scanner(System.in);
   while(sc.hasNextInt()){  
     int n=sc.nextInt();
     int[] arr=new int[3*n];
     long sum=0;
     for(int i=0;i<3*n;i++){
     arr[i]=sc.nextInt();
     }
     Arrays.sort(arr);
     for(int i=0;i<n;i++){
      sum+=arr[arr.length-2*(i+1)];
     }
     System.out.print(sum);
   }  
  }
}

🔥删除公共字符 

删除公共字符_牛客题霸_牛客网

【解题思路】:
本题如果使用传统的暴力查找方式,如判断第一个串的字符是否在第二个串中,在再挪动字符删除这个字符的方式,效率为O(N^2),效率太低,很难让人满意。

1. 将第二个字符串的字符都映射到一个hashtable数组中,用来判断一个字符在这个字符串。
2. 判断一个字符在第二个字符串,不要使用删除,这样效率太低,因为每次删除都伴随数据挪动。这里可以考虑使用将不在字符添加到一个新字符串,最后返回新新字符串。 

 代码如下:

import java.util.*;
public class Main{
  public static void main(String[] args){
  Scanner sc=new Scanner(System.in);
  String str1=sc.nextLine();
  String str2=sc.nextLine();
  HashMap<Character,Integer> map=new HashMap<>();
  //遍历第二个字符串
    for(int i=0;i<str2.length();i++){
    //当前拿到的字符判断,之前是否存在于map中
      if(map.get(str2.charAt(i))==null){
      map.put(str2.charAt(i),1);
      }else{
      map.put(str2.charAt(i),map.get(str2.charAt(i))+1);
      }
    }
    //遍历第一个字符串
    String ret="";
    for(int i=0;i<str1.length();i++){
      if(map.get(str1.charAt(i))==null){
      ret+=str1.charAt(i);
      }
    }
    Systm.out.print(ret);
  }
}

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

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

相关文章

Github创建一个新仓库,关联本地数据并上传文件的图文步骤

工作中&#xff0c;我们经常会使用github来承享别人的代码果实&#xff0c;同时我们也会把自己的成果分享给别人&#xff0c;互相帮助。 今天的这篇图文教程非常重要&#xff0c;目标是使用Github来创建一个远程仓库&#xff0c;并和本地仓库对接&#xff0c;同时要做上传新内容…

初始Vue3【Vue3】

1.Vue3简介 2020年9月18日&#xff0c;Vue.js发布3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;海贼王&#xff09;耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址&#xff1a;https://github.com/vuejs/vue-next/releases/tag/v3.0.0 …

使用docker容器化部署mysql8.0.27,并更改其默认端口3306为3306全流程记录。

使用docker容器化部署mysql8.0.27,并更改其默认端口3306为3306全流程记录。 1.创建镜像 #查看镜像 docker images|grep mysql #搜索镜像 docker search mysql #拉取镜像 docker pull mysql&#xff1a;latest #运行镜像&#xff0c;--name 后的参数自己命名&#xff0c;我的数…

js逆向之rpc远程调用(你强任你强,我无视一切)

一、找到加密函数位置 二、在其下面注入ws服务 &#xff08;1)注入准备 资源>>替换>>随便选一个空文件夹 &#xff08;2&#xff09;进行注入 进行&#xff08;1&#xff09;操作后可直接编辑js代码了&#xff0c;做以下修改 (function() {var ws new WebSocket(…

ChatGPT实现代码生成

代码生成 就代码生成而言&#xff0c;ChatGPT 是一款卓越的工具&#xff0c;它为开发者提供强大的功能。ChatGPT 可以运用其出色的自然语言处理技术&#xff0c;深入理解和解释开发者的需求&#xff0c;快速生成适合的代码片段。对于那些繁琐的任务或者重复的代码&#xff0c;…

肝一肝设计模式【三】-- 原型模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 文章目录 系列文章目录前言一、什么是原型模式二、浅克隆三、深克隆写在最后 前言 前文中我们知道设计模式可以分为三大类&#xff1a;创建型模式、结构型模式、行为型模式。创…

Baumer工业相机堡盟相机如何使用偏振功能(偏振相机优点和行业应用)(C#)

项目场景&#xff1a; Baumer工业相机堡盟相机是一种高性能、高质量的工业相机&#xff0c;可用于各种应用场景&#xff0c;如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能&#xff0c;可以实时传输高分辨率图像。此外&#xff0…

tp6.1 bingher/ueditor(百度编辑器)(七牛、阿里OSS第三方云)详情图文教程(2023年第二版)

之前做过一版&#xff1a;tp6 bingher/ueditor(百度编辑器)(七牛、阿里OSS第三方云)详情图文教程_我是高手高手高高手的博客-CSDN博客 登录权限是Session&#xff0c;现在系统是Cookie加jwt的Token方式验证 一、修改验证登录权限 修改文件&#xff1a; vendor\bingher\uedito…

react native ios 添加启动页 xcode14 react-native-splash-screen

最近更新xcode&#xff0c;有些配置有些不同&#xff0c;网上查的方法都是过时的&#xff0c;导致配了一段时间卡在这里&#xff0c;最后访问官网才弄好了&#xff0c;所以以后解决问题的办法先看官网再查其他各路神仙的办法。 官网的步骤&#xff1a;https://github.com/crazy…

ChatGPT原理剖析

文章目录 ChatGPT常见误解1. 罐头回应2. 网络搜寻重组 ChatGPT真正做的事——文字接龙ChatGPT背后的关键技术——预训练&#xff08;Pre-train&#xff09;一般机器是怎样学习的&#xff1f; ChatGPT带来的研究问题1. 如何精准提出需求2. 如何更改错误3. 侦测AI生成的物件4. 不…

众人围剿,GPT-5招惹了谁

目录 千人呼吁暂停AI训练代表人物分析反对原因分析信息安全人身安全失业利益 总结 GPT-4 火爆全球&#xff0c;引发了人工智能大浪潮。过去的一个月&#xff0c;OpenAI、微软、谷歌加上百度不断释放王炸&#xff0c;所有人都相信&#xff0c;AI 的就是未来的生产力。俗话说&…

如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 Maven版本&#xff1a;apache-maven-3.6.3 目录 一. 为什么要使用Maven&#xff1f;1.1 获取jar包1.2 添加jar包1.3 使用Maven便于解决jar包冲突及依赖问题 二. 什么是Maven?三. 如何…

Elasticsearch查询文档--常见API篇(附详细代码和案例图文)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将介绍Elasticsearch在Java中的几种API的使用&#xff0c;这块内容不作为面试中的重点。 如果文章有什么需要改进的地方还请大佬不吝赐教&#x1f44f;&#x1f4…

Linux Ansible任务控制(循环判断、处理程序、失败任务)

目录 Ansible的Loop循环 简单的Loop循环 数组列表方式的Loop循环 字典方式的Loop循环 基于外部变量的Loop循环 Ansible的When判断 通过魔法变量、事实变量作为条件 通过剧本执行结果的变量来作为条件 Ansible处理程序 Ansible处理失败任务 处理失败任务ignore_error…

语义分割学习笔记(二)转置卷积

目录 1.转置卷积Transposed Convolution概念 2.转置卷积操作步骤 3.转置卷积参数 4.实战案例 推荐课程&#xff1a;转置卷积&#xff08;transposed convolution&#xff09;_哔哩哔哩_bilibili 感谢霹雳吧啦Wz&#xff0c;真乃神人也。 1.转置卷积Transposed Convolutio…

分类预测 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现WOA-CNN多特征分类预测&#xff0c;多特…

SimpleCG库安装使用

SimpleCG库是一个简单的Windows图形库&#xff0c;对GDI及窗口和消息机制进行了简单封装&#xff0c;从而达到类似Turbo C图形库的调用方法&#xff0c;目的是为了初学C语言的同学能快速上手图形界面编程。使用对象包括所有初学C语言的同学&#xff0c;尤其是中学生&#xff0c…

PAT B1049

PAT B1049 题目 给定一个正数数列&#xff0c;我们可以从中截取任意的连续的几个数&#xff0c;称为片段。例如&#xff0c;给定数列 { 0.1, 0.2, 0.3, 0.4 }&#xff0c;我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0…

【】lambda表达式

文章目录 lambda表达式lambda概念lambda表达式的格式关于捕获列表常见问题: 使用lambda表达式交换两个数lambda表达式底层原理 lambda表达式 lambda概念 lambda表达式本质是一个匿名函数(因为它没有名字),恰当使用lambda表达式可以让代码变得简洁.并且可以提高代码的可读性 例…

字节后端入门 - Go 语言原理与实践

1.1什么是Go语言 1.2Go语言入门 环境 1.3基础语法 1.3.1变量 var name"value" 自己推断变量类型&#xff1b; 也可以显式类型 var c int 1 name: type(value) 常量&#xff1a; const name "value" g : a"foo" 字符串拼接 1.3.2 if else {}花括号…