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

字节青训营入营考核部分题解


题库链接:https://juejin.cn/problemset?utm_source=school&utm_medium=youthcamp&utm_campaign=examine

1. 计算从x到y的最小步数

问题描述

AB 实验同学每天都很苦恼如何可以更好地进行 AB 实验,每一步的流程很重要,我们目标为了缩短所需的步数。

我们假设每一步对应到每一个位置。从一个整数位置 x 走到另外一个整数位置 y,每一步的长度是正整数,每步的值等于上一步的值 -1+0+1。求 xy 最少走几步。并且第一步必须是 1,最后一步必须是 1,从 xy 最少需要多少步。

样例说明

  • 整数位置 x12,另外一个整数位置 y6,我们需要从 x 走到 y,最小的步数为:1221,所以我们需要走 4 步。
  • 整数位置 x34,另外一个整数位置 y45,我们需要从 x 走到 y,最小的步数为:123221,所以我们需要走 6 步。
  • 整数位置 x50,另外一个整数位置 y30,我们需要从 x 走到 y,最小的步数为:12344321,所以我们需要走 8 步。

输入格式

输入包含 2 个整数 xy。(0<=x<=y<2^31

输出格式

对于每一组数据,输出一行,仅包含一个整数,从 xy 所需最小步数。

输入样例

12 6
34 45
50 30

输出样例

4
6
8

解题思路

  • 从x到y的距离为s := abs(x-y)
  • 由于每次的步数只能是上次基础上的+1、-1或0。所以,步数的过程由三部分组成:
    • 1~n项和:n*(n+1)/2
    • 前1~n-1项和:n*(n-1)/2
    • i个n
    • 0个或1个1~n之间的数x
  • 整理为公式:n^2 = s - i*n - x
  • ans = 2*n-1+i+(0|1)

代码

func solution1(xPosition int, yPosition int) int {s := int(math.Abs(float64(yPosition - xPosition)))n := math.Sqrt(float64(s))ans := 2*int(n) - 1// 如果s不为完全平方数if n > float64(int(n)) {res := s - int(n)*int(n)if res%int(n) == 0 {ans += res / int(n)} else {ans += res/int(n) + 1}return ans} else {return ans}
}

2. 找出单独的数

问题描述

有一堆数字,除了一个数字,其它的数字都是成对出现。班上的每个同学拿一个数字,正好将这些数字全部拿完,问如何快速找到拿了单独数字的同学?

输入格式

  • 空格分隔输入所有的数字

输出格式

  • 单独的那个数字

输入样例(1)

1 1 2 2 3 3 4 5 5

输出样例(1)

4

输入样例(2)

0 1 0 1 2

输出样例(2)

2

解题思路

  • 序列中只有一个数是单独的,其余两两配对。
  • 考虑异或运算的恒等律归零率任何数与自身异或,结果为0;任何书与0异或,结果为其本身。

代码

func solution4(inp []int) int {// Edit your code hereans := 0for _, v := range inp {ans ^= v}return ans
}

3. 字符串最短循环子串

问题描述

  • 输入一个字符串,判断其是否完全循环,若是循环的,输出最短的循环子串,否则输出空""
  • 如输入 abababab,输出 ab;输入 ab 则输出 ""

输入格式

  • 合法字符串 如 abcabcabcabc aaa

输出格式

  • 最短的循环子串 "abc" "a"

输入样例

  • "abcabcabcabc"

输出样例

  • "abc"

数据范围

测试数据集

解题思路

  • tag为简单题,应该不是考kmp算法吧,直接双for暴力。
  • 外层循环遍历模板串,若原len(inp)%len(s) != 0则跳过此串。
  • 内层循环遍历原串,对模板串进行匹配,若匹配失败则退出循环,考虑下一个模板串。

代码

func solution2(inp string) string {if len(inp) < 2 {return ""}for i := 0; i < len(inp); i++ {s := inp[:i+1]if len(inp)%len(s) != 0 {continue}flag := falsefor j := 0; j < len(inp)-len(s); j += len(s) {if s != inp[j:j+len(s)] {flag = truebreak}}if flag {continue}return s}return ""
}

4. 找出最长神奇序列

问题描述

小明是一个中学生,今天他刚刚学习了数列。他在纸上写了一个长度为 n 的正整数序列, a 0 , a 1 , … , a n − 1 a_0,a_1,\ldots,a_{n-1} a0,a1,,an1。这个数列里面只有 1 和 0,我们将 1 和 0 没有重复跟随并且至少由 3 个数组成的数列的数列称之为「神奇数列」。比如 10101 是一个神奇数列,1011 不是一个神奇数列。他想知道这个序列里面最长的「神奇数列」是哪个,你可以帮帮他吗?

输入格式

  • 一行连续的数 s,只有 01

输出格式

  • 一行数

输入样例

0101011101

输出样例

010101

数据范围

  • 1 < s . l e n g t h ≤ 5 × 1 0 4 1 < s.length \leq 5 \times 10^4 1<s.length5×104

解题思路

  • len(inp) < 3,则return ""
  • 遍历该串,使用count来计数,若出现重复则将count = 0
  • 最终求得count的最大值就是ans

代码

func solution3(inp string) string {if len(inp) < 3 {return ""}// Edit your code heremaxn := 0count := 0var ans stringfor i := 1; i < len(inp); i++ {if inp[i] != inp[i-1] {count++} else {if count > maxn {maxn = countans = inp[i-count-1 : i]count = 0}}}return ans
}

总结

目前,此网站OJ还无法进行提交代码,题解样例是过了的。如有问题,可以在评论区提问哦~

相关文章:

字节青训营入营考核部分题解

​ 题库链接&#xff1a;https://juejin.cn/problemset?utm_sourceschool&utm_mediumyouthcamp&utm_campaignexamine 1. 计算从x到y的最小步数 问题描述 AB 实验同学每天都很苦恼如何可以更好地进行 AB 实验&#xff0c;每一步的流程很重要&#xff0c;我们目标为了…...

Android调用系统打印图片

拍摄和分享照片是移动设备最受欢迎的用途之一。如果您的应用 拍摄照片、展示照片或允许用户分享图片&#xff0c;则应考虑启用打印功能 和图片。Android 支持库提供了一个便捷的功能&#xff0c;支持使用 只需编写极少的代码和一组简单的打印版式选项。 本节课介绍如何使用 v4…...

网络最快的速度光速,因此‘‘光网络‘‘由此产生

世界上有一种最快的速度又是光,以前传统以太网络规划满足不了现在的需求。 一 有线网规划 二 无线网规划...

WPF -- LiveCharts的使用和源码

LiveCharts 是一个开源的 .NET 图表库&#xff0c;特别适用于 WPF、WinForms 和其他 .NET 平台。它提供了丰富的图表类型和功能&#xff0c;使开发者能够轻松地在应用程序中创建动态和交互式图表。下面我将使用WPF平台创建一个测试实例。 一、LiveCharts的安装和使用 1.安装N…...

spring 如何将mutipartFile转存到本地磁盘

两者的区别和联系 MutipartFile是spring的一部分&#xff0c;File则是java的标准类MutipartFile用于接收web传递的文件&#xff0c;File操作本地系统的文件 MutipartFile 转换File的三种方式 使用MutipartFile 自带的transferTo方法使用java自带的FileOutPutStream流使用java自…...

【学术会议-6】激发灵感-计算机科学与技术学术会议邀您参与,共享学术盛宴,塑造明天的科技梦想!

【学术会议-6】激发灵感-计算机科学与技术学术会议邀您参与&#xff0c;共享学术盛宴&#xff0c;塑造明天的科技梦想&#xff01; 【学术会议-6】激发灵感-计算机科学与技术学术会议邀您参与&#xff0c;共享学术盛宴&#xff0c;塑造明天的科技梦想&#xff01; 文章目录 【…...

模电基础(晶体管放大电路)

1.放大电路 1.1基本共射放大电路工作原理 1.1.1电路的组成和作用 各器件的作用 ​​​​​​&#xff08;1&#xff09;&#xff08;交流电源&#xff09;&#xff1a;输入电路的有用信号&#xff0c;也就是我们需要去放大的信号 &#xff08;2&#xff09;&#xff08;反馈…...

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法)

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法) requests-pkcs12 PyPI python中如何使用requests模块下载文件并获取进度提示 1、GET方法 1.1、调用 # 下载客户端(GET)def download_client_get(self, header_all):try:url = self.host + "/xxx/v1/xxx-mod…...

rhce:列行性(at和cron)

配置 at练习 设置时间提醒 定义一分钟后显示命令&#xff0c;使用atq查看 cron练习 配置 systemctl status crond 查看文件所在位置 ll /var/spool/cron/ 主要功能 开始操作 进入界面操作每天早上9点说hello crontab -e 五个星号分别代表分时日月周&#xff0c;其次是执…...

kubernetes给service动态增加服务端口

根据kubernetes官方文档的说明&#xff0c;service的ports规则支持merge操作&#xff1a; portsServicePort arraypatch strategy: mergepatch merge key: portThe list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-…...

如何将 html 渲染后的节点传递给后端?

问题 现在我有一个动态的 html 节点&#xff0c;我想用 vue 渲染后&#xff0c;传递给后端保存 思路 本来想给html的&#xff0c;发现样式是个问题 在一个是打印成pdf&#xff0c;然后上传&#xff0c;这个操作就变多了 最后的思路是通过 html2canvas 转化成 canvas 然后变成…...

ubuntu24 finalshell 无法连接ubuntu服务器, 客户端无法连接ubuntu, 无法远程连接ubuntu。

场景&#xff1a; 虚拟机新创建一个最小化的ubuntu服务器&#xff0c;使用finalshell连接服务&#xff0c;发现连接不上。 1. 查看防火墙ufw 是否开启&#xff0c;22端口是否放行 2. 查看是否安装openssh server, 并配置 我的问题是安装了openssh server 但是没有配置root可…...

牛客编程初学者入门训练——BC19 牛牛的对齐

BC19 牛牛的对齐 描述 读入 3 个整数&#xff0c;牛牛尝试以后两个数字占 8 个空格的宽度靠右对齐输出。 输入描述&#xff1a; 输入三个整数&#xff0c;用空格隔开。 输出描述&#xff1a; 输出 3 个整数以第二三个数字占 8 个空格靠右对齐输出 示例1 输入&#xff1a…...

log file sync 内部执行过程

通常oracle的log file sync执行大致印象是等待cpu、log file parallel write、等待cpu&#xff0c;遇到问题主要考虑lgwr自适应模式参数要关闭、io性能、cpu瓶颈、归档数量和大小等&#xff0c;但是内部执行内容其实很多&#xff0c;尤其是有ADG了以后。 log file sync主要执行…...

【动手学深度学习】7.5 批量规范化(个人向笔记)

训练深层神经网络是十分困难的&#xff0c;特别是在较短的时间内使它们收敛更加棘手。而本节的批量规范化&#xff08;batch normalization&#xff09; 可以持续加速深层网络的收敛速度结合下节会介绍道德残差块&#xff0c;批量规范化使得研究人员能够训练100层以上的网络 1.…...

111 - exercise 5

一 public class Dummy {private static int a 3;private static int b 5;private static int c 7;public static void main(String... arguments) {int a 1, b 2;System.out.println("" a (a - b) c);} }这个Java程序中有两个a和b变量&#xff0c;一个是类…...

第二十五:IP网络层的数据,IP数据报

在数据链路层传输的数据叫帧&#xff0c;帧是数据链路层的传输单元。 那么在IP网络层的数据也有一个叫法IP数据报。 IP数据报 IP数据报首部 数据。 数据是传输层传递过来的报文&#xff1b;IP数据报首部格式如下&#xff1a; IP 报头的最小长度为 20 字节&#xff0c;上图…...

三菱FX3UPLC机械原点回归- DSZR/ZRN指令

机械原点回归用指令的种类 产生正转脉冲或者反转脉冲后&#xff0c;增减当前值寄存器的内容。可编程控制器的定位指令&#xff0c;可编程控制器的电源0FF后&#xff0c;当前值寄存器清零&#xff0c;因此上电后&#xff0c;请务必使机械位置和当前值寄存器的位置相吻合…...

网络通信与并发编程(三)粘包现象解决方案、socketserver实现并发

粘包现象解决方案、socketserver实现并发 文章目录 粘包现象解决方案、socketserver实现并发一、粘包现象解决方案1.发送数据大小2.发送数据信息 二、socketserver实现并发1.tcp版的socketserver并发2.udp版的socketserver并发 一、粘包现象解决方案 1.发送数据大小 有了上一…...

使用Uniapp开发微信小程序实现一个自定义的首页顶部轮播图效果?

在Uniapp中开发微信小程序&#xff0c;并实现自定义首页顶部轮播图的效果&#xff0c;可以通过使用Uniapp的组件如swiper和swiper-item来完成。这是一个常见的需求&#xff0c;下面是一个完整的示例代码&#xff0c;展示如何实现一个简单的自定义轮播图效果。 创建页面结构 首…...

软硬连接及动静态库

目录 一、理解文件系统在磁盘中的存储 &#xff08;1&#xff09;inode是什么 &#xff08;2&#xff09;硬链接 &#xff08;3&#xff09;软链接 二、动静态库 &#xff08;1&#xff09;静态库 二、动态库 三、在链接动静态库的时候如何不用指定路径 一、理解文件系统…...

vue3.0 + vite:中使用 sass

1、安装依赖 npm i sass sass-loader --save-dev 在项目的src/assets文件夹下新建style/index.scss 文件 2、在 vite.config.ts 中加&#xff1a; resolve: {alias: {: fileURLToPath(new URL(./src, import.meta.url))} }, css: {// 配置 SCSS 支持preprocessorOptions: {s…...

搭建`mongodb`副本集-开启权限认证 mongo:7.0.5

搭建mongodb副本集-开启权限认证 mongo:7.0.5 1.5.1、创建文件 创建配置文件保存目录和数据保存目录 mkdir -p /data/mongodb/{/conf,/data,/logs}生成和设置权限 这个文件一定要在一个服务里面生成然后复制到其它服务器&#xff0c;所有服务器的这个key一定是相同的。 op…...

智能工厂的软件设计 由“原力“篇引发的思考: 回顾、展望和本位 之2 修订稿之2

Q15、《“工厂”篇》其前的《“公共逻辑”》篇 提出的三个专门工厂&#xff08;抽象/项目/产品&#xff09;以及 再之前 讨论的各自的“专项运作逻辑”&#xff08;辩证/数理/形式&#xff09;之间协作的“整体概念运作”“概念模式”给出一个标准的“公共逻辑”的“语言模板”…...

2025选题推荐|基于SpringBoot的幼儿园智能管理与监控系统的设计与实现

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…...

mqtt客户端订阅一直重复连接?

文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者&#xff0c;我们创造bug&#xff0c;传播bug&#xff0c;毫不留情地消灭bug&#xff0c;在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案&#xff0c;感兴…...

SegFormer: 一个基于Transformer的高效视觉图像分割算法

今天我分享一篇关于 Transformer 架构在图像视觉分割中的应用的文章&#xff0c;主题是 SegFormer。SegFormer 是一种新颖的语义分割方法&#xff0c;它结合了无位置编码的层次化 Transformer 编码器和轻量级 All-MLP 解码器&#xff0c;避免了传统方法中的复杂设计&#xff0c…...

SoC芯片中Clock Gen和Reset Gen的时钟树综合

社区目前已经开设了下面列举的前四大数字后端实战课程&#xff0c;均为直播课&#xff0c;且均是小编本人亲自授课&#xff01;遇到项目问题&#xff0c;都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端…...

学习资料:电子标签拣货技术

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件主要介绍了电子标签拣货技术&#xff0c…...

Git 提交规范参考

Git 提交规范参考 feat 增加新的业务功能fix 修复业务问题/BUGperf 优化性能style 更改代码风格, 不影响运行结果refactor 重构代码revert 撤销更改test 测试相关, 不涉及业务代码的更改docs 文档和注释相关chore 更新依赖/修改脚手架配置等琐事workflow 工作流改进ci 持续集成…...