2023秋招笔试

柠檬微趣

  1. 将java的链表升序排序,链表用Class Node{int val,Node next}实现
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;/*** 输入一串数字,放入list中,实现sortList,返回升序的list*/
public class Test1 {public static void main(String[] args) {Scanner in = new Scanner(System.in);Node head = new Node();head.value = in.nextInt();head.next = null;Node temp = head;for(int i=0;i<8;i++){Node node = new Node();node.value = in.nextInt();node.next = null;temp.next = node;temp = temp.next;}head = sortList(head);System.out.print(head.value);head = head.next;while(head!=null){System.out.print(" "+head.value);head = head.next;}}public static Node sortList(Node head){PriorityQueue<Node> queue = new PriorityQueue<>(new Comparator<Node>() {@Overridepublic int compare(Node o1, Node o2) {return o1.value-o2.value;}});while(head!=null){queue.offer(head);head = head.next;}head = queue.poll();Node temp = head;while(!queue.isEmpty()){temp.next = queue.poll();temp = temp.next;}temp.next = null;return head;}
}class Node{int value;Node next;
}
  1. 实现简单的模式匹配
    • .匹配任意字符
    • *和前面一个字符组合,表示匹配0个或多个该字符
    • ?和前面一个字符组合,表示匹配1个或多个该字符
import java.util.Scanner;/*** 实现简单的模式匹配* . 匹配任意字符* * 和前面一个字符组合,表示匹配0个或多个该字符* ? 和前面一个字符组合,表示匹配1个或多个该字符** 示例:*  输入:*      3*      aa aa*      aa aaa*      aaa aa*  输出:*      true*      false*      false** 示例:*  输入:*      4*      a a.**      aa aa.?*      aa a.?*      ab a.?*  输出:*      true*      false*      true*      true*/
public class Test2 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();for (int i = 0; i < n; i++) {char[] aChars = in.next().toCharArray();char[] bChars = in.next().toCharArray();int len = bChars.length;//k用于标记aChars的下标int k = 0;//j用于标记bChars的下标int j = 0;boolean end = false;boolean finish = false;int count = 0;while(true){if(j+1<len){switch (bChars[j+1]){case '*':{count = 0;while(bChars[j]=='.'||aChars[k]==bChars[j]){k++;count++;if(k>=aChars.length){end = true;break;}}k++;j+=2;break;}case '?':{count = 0;while(bChars[j]=='.'||aChars[k]==bChars[j]){k++;count++;if(k>=aChars.length){end = true;break;}}if(count>0){k++;j+=2;}else{finish = true;}break;}default:{if(bChars[j]=='.'){j++;k++;}else{if(aChars[k]==bChars[j]){j++;k++;}else{finish = true;}}break;}}}else{if(bChars[j]=='.'||bChars[j]==aChars[k]){j++;k++;}else{finish = true;}}if(k>=aChars.length||j>=bChars.length){end = true;}if(finish||end){break;}}if(finish){System.out.println(false);}else{if(k<aChars.length){System.out.println(false);}else if(j<bChars.length){if((bChars.length-j)%2==0){boolean flag = false;while(bChars.length-j>0){if(!(bChars[j]=='.'&&bChars[j+1]=='*')){flag = true;System.out.println(false);break;}else{j+=2;}}if(!flag){System.out.println(true);}}else{System.out.println(false);}}else{System.out.println(true);}}}}
}
  1. 野猪骑士?翻译过来就是:给一个数组,数组中的第i个元素,需要输出:数组下标比i大的集合中,值也比array[i]大的集合中的最小值。
import java.util.*;/*** 野猪骑士?* 给一个数组,数组中的第i个元素,需要输出:数组下标比i大的集合中,值也比array[i]大的集合中的最小值。** 示例:*  输入:*      4 2 1 3*  输出:*      -1 3 3 -1** 示例:*  输入:*      8 4 9 3 5 1 7 2 6*  输出:*      9 5 -1 5 6 2 -1 6 -1*/
public class Test3 {public static void main(String[] args) {Scanner in = new Scanner(System.in);List<Integer> list = new ArrayList<>();while(in.hasNextInt()){list.add(in.nextInt());}int[] array = new int[list.size()];for (int i = 0; i < list.size(); i++) {array[i] = list.get(i);}PriorityQueue<Integer> queue = new PriorityQueue<>();int[] result = new int[list.size()];for (int i = list.size()-1; i >= 0; i--) {Stack<Integer> stack = new Stack<>();while(!queue.isEmpty()){if(queue.peek()<array[i]){stack.add(queue.poll());}else {result[i] = queue.peek();break;}}while(!stack.isEmpty()){queue.add(stack.pop());}if(result[i]==0){result[i]=-1;}queue.add(array[i]);}StringBuilder sb = new StringBuilder();sb.append(result[0]);for (int i = 1; i < list.size(); i++) {sb.append(" "+result[i]);}System.out.println(sb.toString());}
}
  1. 将一个整数转换为一个7bit的数据格式(没细看)

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

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

相关文章

将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集)

蚂蚁蜜蜂分类数据集下载链接&#xff1a;https://download.pytorch.org/tutorial/hymenoptera_data.zip 要实现如图操作&#xff1a; 将ants分为ants_image和ants_label 将bees分成bees_image和bees_label 创建ants_label和bees_label&#xff0c;并且以图片名作为txt文件的…

Apche Kafka + Spring的消息监听容器

目录 一、消息的接收1.1、消息监听器 二、消息监听容器2.1、 实现方法2.1.1、KafkaMessageListenerContainer2.1.1.1、 基本概念2.1.1.2、如何使用 KafkaMessageListenerContainer 2.1.2、ConcurrentMessageListenerContainer 三、偏移 四、监听器容器自动启动 一、消息的接收 …

【机器学习】sklearn数据集的使用,数据集的获取和划分

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 sklearn数据集 二、安装sklearn二、获取数据集三、…

mac录屏工具,录屏没有声音的解决办法

mac录屏工具&#xff0c;录屏没有声音的解决办法 在使用macbook录制屏幕时&#xff0c;发现自带的录屏工具QuickTime Player没有声音&#xff0c;于是尝试了多款录屏工具&#xff0c;对其做一些经验总结&#xff08;省流&#xff1a;APP Store直接可以免费下载使用Omi录屏专家…

第三课-界面介绍SD-Stable Diffusion 教程

前言 我们已经安装好了SD&#xff0c;这篇文章不介绍难以理解的原理&#xff0c;说使用。以后再介绍原理。 我的想法是&#xff0c;先学会画&#xff0c;然后明白原理&#xff0c;再去提高技术。 我失败过&#xff0c;知道三天打鱼两天晒网的痛苦&#xff0c;和很多人一样试了…

TiDB数据库从入门到精通系列之六:使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka

TiDB数据库从入门到精通系列之六&#xff1a;使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka 一、技术流程二、搭建环境三、创建Kafka changefeed四、写入数据以产生变更日志五、配置 Flink 消费 Kafka 数据 一、技术流程 快速搭建 TiCDC 集群、Kafka 集群和 Flink 集群创建 c…

【网络编程系列】网络编程实战

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

使用Vue.js框架的指令和事件绑定实现一个购物车的页面布局

使用了v-model指令来实现全选/全不选的功能&#xff0c;当全选框被点击时&#xff0c;isAllChecked的值会被改变。使用了v-if指令来判断购物车中是否有商品&#xff0c;如果有商品则渲染商品列表&#xff0c;否则显示购物车为空的提示。使用了v-for指令来遍历datalist数组&…

jvm内存溢出排查(使用idea自带的内存泄漏分析工具)

文章目录 1.确保生成内存溢出文件2.使用idea自带的内存泄漏分析工具3.具体实验一下 1.确保生成内存溢出文件 想分析堆内存溢出&#xff0c;一定在运行jar包时就写上参数-XX:HeapDumpOnOutOfMemoryError&#xff0c;可以看我之前关于如何运行jar包的文章。若你没有写。可以写上…

Keepalived入门指南:实现故障转移和负载均衡

文章目录 一、简介1. Keepalived概述2. 高可用性和负载均衡的重要性 二、故障转移1. 什么是故障转移2. Keepalived的故障转移原理a) VRRP协议b) 虚拟路由器ID和优先级 3. 配置Keepalived实现故障转移a) 主备服务器的设置b) 监控网络接口c) 虚拟IP的配置d) 备份服务器接管流程 三…

Python学习笔记_基础篇(九)_面向对象编程

本篇内容: 1、反射2、面向对象编程3、面向对象三大特性4、类成员5、类成员修饰符6、类的特殊成员7、单例模式 反射 python中的反射功能是由以下四个内置函数提供&#xff1a;hasattr、getattr、setattr、delattr&#xff0c;改四个函数分别用于对对象内部执行&#xff1a;检…

el-form自定义校验规则

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现&#xff0c;该函数接受要校验的字段的值作为参数&#xff0c;并返回一个布尔值或一个 Promise 对象。 下面是一个示例&#xff0c;演示如何在 el-form 中使用自定义校验规则…

若依前端npm run dev启动时报错

本文主要解决问题:若依前端npm run dev启动时报错,解决办法。 目录 1、第1种解决方案(亲测有效) 2、第2种解决方案(亲测有效) Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node…

解决 adb install 错误INSTALL_FAILED_UPDATE_INCOMPATIBLE

最近给游戏出包&#xff0c;平台要求 v1 签名吧&#xff0c;AS 打包后&#xff0c;adb 执行安装到手机&#xff0c;我用的设备是google pixel6 , android 系统 13&#xff0c; 提示如下&#xff1a; adb install -r v5_android_202308161046.apk Performing Streamed Install a…

centos 安装.net 6 sdk

按照以下步骤在 CentOS 上安装 .NET 6 SDK&#xff1a; 更新系统&#xff1a; sudo yum update安装依赖项&#xff1a; sudo yum install -y curl libunwind libicu下载并添加 Microsoft 的软件包存储库密钥&#xff1a; sudo rpm -Uvh https://packages.microsoft.com/config/…

单片机第一季:零基础13——AD和DA转换

1&#xff0c;AD转换基本概念 51 单片机系统内部运算时用的全部是数字量&#xff0c;即0 和1&#xff0c;因此对单片机系统而言&#xff0c;无法直接操作模拟量&#xff0c;必须将模拟量转换成数字量。所谓数字量&#xff0c;就是用一系列0 和1 组成的二进制代码表示某个信号大…

Linux -- 进阶 Autofs自动挂载服务 实验详解

服务端创建共享目录&#xff0c; 客户端实现自动挂载 第一步 &#xff1a; 客户端&#xff0c;服务端 均关闭安全软件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootnode1 ~]# setenforce 0 [rootnode1 ~]# systemctl stop firewalld 第二…

在K8s上处理nginx

基本说明 创建一个名为ssl的TLS类型的Secret对象&#xff0c;用于存储证书和密钥信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events块&#xff0c;设置worker连接数为1024。 events {worker_connections 1024; }配置Nginx的http块&a…

MyBaits(单独使用,与整合无关)小白版

文章目录 概述比较配置写xml加载上面配置并执行加载配置的方法方式一 执行方法方式一方式二(MyBatis映射器) 写配置文件的映射文件设置对象的别名&#xff08;简写&#xff09;获取自动生成的主键 查询结果和java的映射规则基本类型映射&#xff1a;简单对象映射&#xff1a;嵌…

加盐加密算法

MD5加密加盐加密项目密码升级 MD5加密 MD5一系列公式进行复杂数学运算&#xff1b;特点&#xff1a;&#xff08;用途校验和、计算hash值方式、加密&#xff09; 1&#xff1a;定长&#xff1b;无论原始数据多长&#xff1b;算出的结果都是4或者8字节的版本。 2&#xff1a;冲…