当前位置: 首页 > news >正文

小红书20230326暑假实习笔试

第一题:加密

小明学会了一种加密方式。他定义suc(x)为x在字母表中的后继,例如a的后继为b,b的后继为c… (即按字母表的顺序后一个)。特别的,z的后继为a。对于一个原字符串S,将其中每个字母x都替换成其三重后继,即suc(suc(suc(x)))的字母,即完成了加密。例如,abc加密后变成def (suc(suc(suc(a)))=d suc(suc(suc(b)))=e, suc(suc(suc©))=f)。 现在小明知道一个加密后的字符串S’,想请你找出他的原串S。
输入数据

3
def

输出数据

abc

直接模拟完成

Class solution{public static String findString(String s){int n = s.length();String ans = "";for(int i = 0; i < n; i ++){if(s.charAt(i)=='a' || s.charAt(i)=='b' || s.charAt(i)=='c'){ans += (char) (s.charAt(i) - 3 + 26);}else{ans += (char)(s.charAt(i) - 3);}}return ans;}
}
public main{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入字符串的长度:");int n = scanner.nextInt();System.out.print("请输入字符串:");String input = scanner.next();Solution s = new Solution();System.out.println(s.findString(input));scanner.close();}
}

第二题:K排序

在算法中,有各种各样的排序算法,例如归并排序,冒泡排序,快速排序等等。本题中,我们会使用一种新的排序算法:K排序。

K排序算法描述如下:首先,算法需要按照某种规则选择该数列上至多K个位置,将其对应的数抽出来,其他的数都往左对齐,之后这K个数排好序之后依次放在原数列末尾。以上过程算作一次操作。
例如,对于数列[1,3,5,4,2],当K=2时可以选择数字5和4,之后数列变成[1,3,2,4,5]。
你的任务是:对于给定的数列,你需要计算出最少需要多少次上述操作,使得整个数列从小到大排好序?

样例输入

2
5 1
1 2 3 4 5
5 2
1 3 5 4 2

样例输出

0
2

主要思路是贪心,每次找到当前未排序部分的最小值,将其移动到正确的位置,如果需要移动的距离超过了k,则需要进行一次K排序操作。

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int T = sc.nextInt();while (T-- > 0) {int n = sc.nextInt();int k = sc.nextInt();int[] nums = new int[n];for (int i = 0; i < n; i++) {nums[i] = sc.nextInt();}int ans = 0;int cur = 0;while (cur < n) {int minIndex = cur;for (int i = cur + 1; i < Math.min(cur + k + 1, n); i++) {if (nums[i] < nums[minIndex]) {minIndex = i;}}if (minIndex == cur) {cur++;} else {int temp = nums[minIndex];for (int i = minIndex; i > cur; i--) {nums[i] = nums[i - 1];}nums[cur] = temp;ans++;}}System.out.println(ans);}}
}

第三题: 涂色

给出一个数组。你需要求出按顺序对其进行一系列区间操作后最终所得的数组。

操作有三种:

将下标在L到R之间的元素全部或上X。
将下标在L到R之间的元素全部与上X。
将下标在L到R之间的元素全部设为X。
输入描述

第一行有一个正整数N(1<=N<=100000),代表数组的长度。

第二行有N个非负整数,范围在0到2^20-1之间,代表数组中的元素。

第三行有一个正整数M(1<=M<=100000),代表操作次数。

第四行有M个正整数,代表M次操作中的区间左端点L。

第五行有M个正整数,代表M次操作中的区间右端点R。

第六行是一个长度为M的字符串,|代表操作1,&代表操作2,=代表操作3。

第七行有M个正整数,代表M次操作中的参数X。

输出描述

在一行中输出N个数,代表所有操作按顺序完成后最终所得的数组。

样例输入

4
5 4 7 4
4
1 2 3 2
4 3 4 2
=|&=
8 3 6 2

样例输出

8 2 2 0

相关文章:

小红书20230326暑假实习笔试

第一题&#xff1a;加密 小明学会了一种加密方式。他定义suc(x)为x在字母表中的后继&#xff0c;例如a的后继为b&#xff0c;b的后继为c… &#xff08;即按字母表的顺序后一个&#xff09;。特别的&#xff0c;z的后继为a。对于一个原字符串S&#xff0c;将其中每个字母x都替…...

【java】不要二、把字符串转成整数

目录 &#x1f525;一、编程题 1.不要二 2.把字符串转换成整数 &#x1f525;一、编程题 1.不要二 链接&#xff1a;不要二_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a;二货小易有一个W*H的网格盒子&#xff0c;网格的行编号为0~H-1&#xff0c;网格的列编号为0~W-1…...

数据的质量管控工作

数据的质量管控工作&#xff0c;整个工作应该围绕启动阶段制定的目标进行。适当引入一些质量管控工具可帮助我们更高效的完成工作。 第一步、数据剖析 首先应该进行已知数据问题的评估&#xff0c;这里评估的范围也应控制本轮管控的目标范围内。其次&#xff0c;通过对数据进行…...

【SpringBoot笔记29】SpringBoot集成RabbitMQ消息队列

这篇文章,主要介绍SpringBoot如何集成RabbitMQ消息队列。 目录 一、集成RabbitMQ 1.1、引入amqp依赖 1.2、添加连接信息 1.3、添加RabbitMQ配置类...

前端架构师-week2-脚手架架构设计和框架搭建

将收获什么 脚手架的实现原理 Lerna的常见用法 架构设计技巧和架构图绘制方法 主要内容 学习如何以架构师的角度思考基础架构问题 多 Package 项目管理痛点和解决方案&#xff0c;基于 Lerna 脚手架框架搭建 imooc-cli 脚手架需求分析和架构设计&#xff0c;架构设计图 附赠内…...

CMake项目实战指令详细分析

CMake是一个跨平台的自动化构建系统&#xff0c;可以用简单的语句来描述所有平台的编译过程。CMake可以输出各种各样的编译文件&#xff0c;如Makefile、VisualStudio等。 CMake主要是编写CMakeLists.txt文件&#xff0c;然后用cmake命令将CMakeLists.txt文件转化为make所需要的…...

【深度学习】——LSTM参数设置

批大小设置 LSTM的批大小可以根据训练数据集的大小和计算资源的限制来确定。一般而言&#xff0c;批大小越大&#xff0c;训练速度越快&#xff0c;但可能会导致过拟合和内存限制。批大小越小&#xff0c;训练速度越慢&#xff0c;但对于较大的数据集和内存限制较严格的情况下…...

计算机网络高频60问 背完差不多了!!

计算机网络高频60问 网络分层结构 计算机网络体系大致分为三种&#xff0c;OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。 五层模型&#xff1a;应用层、传输层、网络层、数据链路层、物理层。 应用层&#xff1a;为应用程序提供交互服务…...

路由策略小实验

实验要求&#xff1a; 1、R1环回使用重发布&#xff0c;R2和R3使用双向重发布 2、使用路由策略解决&#xff0c;选路不佳 第一步&#xff0c;基础配置 [R1]int l0 [R1-LoopBack0]ip add 1.1.1.1 24 [R1-LoopBack0]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.12.1 …...

C语言realloc背后的内存管理

malloc申请内存&#xff0c;但不初始化。 calloc申请内存&#xff0c;且初始化为0。 free释放内存。 realloc重新分配已经分配的内存空间&#xff0c;可以变小&#xff0c;也可以变大。 以前一直有一个疑问&#xff0c;realloc是不是经常失败&#xff1f; 其实&#xff0c;rea…...

GPT可以被放任的在问答区应用吗?

GPT可以被放任的在问答区应用吗&#xff1f;1、CSDN问答乱象2、GPT-4&#xff0c;大增长时代的序幕数字生命离我们到底还有多远&#xff1f;AI 家教/老师/教育 距离独立又有哪些需要完成的过程&#xff1f;3、老顾对CSDN问答的一些看法老顾对GPT使用者的一些建议1、CSDN问答乱象…...

限制网络接口的一些简介(一)

大家在上网的时候&#xff0c;我们设置了www&#xff0c;当有来自internet的www要求时&#xff0c;我们的主机就会予以响应。这是因为你的主机已经开启了www的监听端口。所以&#xff0c;当我们启用一个daemon时&#xff0c;就可能触发主机的端口进行监听的动作&#xff0c;此时…...

ChatGPT如何批量撰写最新的热点自媒体文章

如何用ChatGPT创作高质量的自媒体文章 自媒体已成为互联网上的一个重要组成部分&#xff0c;无论您是想在社交媒体、博客中发布内容&#xff0c;高质量的文章都是自媒体成功的重要组成部分。ChatGPT是一个智能文章生成器&#xff0c;能够帮助创作者快速、高效地生成高质量的自…...

GPT4和ChatGPT的区别,太让人震撼

文 | Serendipity知乎 前言 GPT4上午朋友圈已经刷屏啦&#xff0c;不过我还在忙&#xff0c;刚刚才登上 GPT-4 &#xff0c;现在来体验一下~ 附 GPT-4 能力测试站&#xff08;无需魔法&#xff0c;仅供国内研究测试&#xff09;&#xff1a; https://gpt4test.com 附 Cha…...

redis实战---分布式锁--单机篇

redis分布式锁故事背景什么是Redis分布式锁业务场景未加任何锁的代码单机情况下JVM级别加锁多服务部署总结提升故事背景 本篇文章是redis实战系列的第二篇文章。本章的主要内容是Redis分布式锁的相关知识。本篇文章将告诉你什么是分布式锁&#xff0c;结合一个业务场景&#x…...

Java正则表达式

Java 正则表达式 文章目录Java 正则表达式捕获组正则表达式语法Matcher 类的方法索引方法查找方法替换方法start 和 end 方法matches 和 lookingAt 方法replaceFirst 和 replaceAll 方法appendReplacement 和 appendTail 方法PatternSyntaxException 类的方法正则表达式是对字符…...

MySQL数据库之——高级[进阶]SQL语句(二)正则表达式和存储过程

文章目录一、正则表达式&#xff08;REGEXP&#xff09;1、正则表达式匹配符2、语法二、存储过程1、概述2、优点3、 创建、调用、查看和删除存储过程4、存储过程的控制语句一、正则表达式&#xff08;REGEXP&#xff09; 1、正则表达式匹配符 2、语法 SELECT 选项 FROM 表名 …...

Python基于周立功盒子的二次开发的准备工作

Python基于周立功盒子的二次开发的准备工作 一、基本介绍     基于周立功的二次开发是python通过调用zlgcan.dll,来实现CAN卡的通讯收发报文的,在python中通过ctypes模块调用c++动态库的接口函数(zlgcan.dll),我们需要根据我的电脑选择相对应版本的dll,比如64位的操…...

2023年PMP考生|考前必练全真模拟题分享,附答案解析

“日日行&#xff0c;不怕千万里&#xff1b;常常做&#xff0c;不怕千万事。”每日五题&#xff0c;备考无压力&#xff01; 1、敏捷项目以价值为驱动交付&#xff0c;确定好所有待办事项的价值进而去制造可交付成果。那么在整个敏捷项目周期中&#xff0c;衡量团队交付的可交…...

Python入门教程+项目实战-7.1节: 条件控制结构

目录 7.1.1 理解条件控制 7.1.2 if,elif,else 7.1.3 条件表达式 7.1.4 条件控制可以嵌套 7.1.5 if语句的三元运算 7.1.6 系统学习python 7.1.1 理解条件控制 在日常生活中&#xff0c;我们常喜欢说如果, "如果怎么样&#xff0c;那么就会怎么样"。"如果&…...

杰理之智能充电舱通信模块【篇】

固定 VOUT0/1 使用的通信 IO 为 P10/P11&#xff0c;固定使用 UART0。 SDK公版已经做好智能仓的基本通信交互了&#xff0c;耳机电量获取&#xff0c;状态获取&#xff0c;耳机配对等...

米尔MA35D1核心板512MB DDR升级:工业边缘计算性能跃迁与开发实战

1. 项目概述&#xff1a;MA35D1核心板512M DDR配置的发布意味着什么&#xff1f;最近&#xff0c;米尔电子发布了其基于新唐MA35D1处理器的核心板新配置——512MB DDR。这个消息在工业控制和边缘计算圈子里引起了不少讨论。对于很多正在评估或已经使用MA35D1方案的朋友来说&…...

SDXL动画生成实战:AnimateDiff与Hotshot-XL效果对比与配置详解

1. SDXL动画生成工具概览 最近在玩SDXL动画生成的朋友应该都听说过AnimateDiff和Hotshot-XL这两款神器。作为目前最主流的两个文生视频开源工具&#xff0c;它们都能基于SDXL模型将静态图片转换成动态视频。不过在实际使用中&#xff0c;我发现两者的效果差异还挺明显的。 先说…...

告别暴力枚举:用‘换根DP’思想5步拆解GDCPC L题‘启航者’(附O(n)实现代码)

从暴力枚举到换根DP&#xff1a;5步拆解树上路径极值问题 在算法竞赛中&#xff0c;树形结构上的动态规划&#xff08;DP&#xff09;问题一直是考察重点&#xff0c;而"换根DP"作为一种高效解决树上路径相关问题的技巧&#xff0c;能帮助我们将O(n)的暴力枚举优化到…...

嵌入式AI实战:从疲劳驾驶监测到医疗内窥镜的选型与落地

1. 从一场行业盛会聊起&#xff1a;嵌入式开发者的“技术集市”前几天&#xff0c;我作为飞凌嵌入式的一名老员工&#xff0c;去杭州参加了恩智浦&#xff08;NXP&#xff09;的技术日巡回研讨会。这感觉就像是我们嵌入式开发者圈子里的一个“技术大集”&#xff0c;或者说是“…...

免费开源AMD Ryzen处理器调试工具:SMUDebugTool终极指南

免费开源AMD Ryzen处理器调试工具&#xff1a;SMUDebugTool终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…...

用C++和Eigen库手把手实现UR3机械臂逆解(附完整代码与避坑指南)

从理论到实践&#xff1a;基于Eigen库的UR3机械臂逆运动学完整实现指南 在工业自动化和机器人研究领域&#xff0c;六轴协作机械臂因其灵活性和广泛的应用场景而备受关注。UR3作为Universal Robots旗下的紧凑型协作机械臂&#xff0c;凭借其轻量化设计和用户友好特性&#xff0…...

尝试Taotoken不同模型节点对生成速度的细微影响感受

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 尝试Taotoken不同模型节点对生成速度的细微影响感受 1. 测试背景与动机 在日常使用大模型进行开发或内容创作时&#xff0c;除了模…...

长期使用Taotoken的体验,账单清晰与模型切换便利性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken的体验&#xff0c;账单清晰与模型切换便利性 作为长期将大模型能力集成到项目中的开发者&#xff0c;选择一个稳…...

你的Mac数字管家:Pearcleaner如何让macOS保持“梨子般“的清新体验?

你的Mac数字管家&#xff1a;Pearcleaner如何让macOS保持"梨子般"的清新体验&#xff1f; 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾…...