某双非机试真题

这次机试算简单,对于学过一小段ACM时间的同学来说我觉得都应该AK,但是不论是出于经验不足还是不够重视还是本就菜,导致最后一题没A出来。


1.打车要10s等待时间,速度为10m/s,走路不等待,速度为1m/s,给定一个路程(m),请输出打车快还是走路快(25分,纯送)

本质判断d>=d/10+10,如果要通分就是10*d>=d+100,但是脑抽了好一会儿,后面的100我还写的10,花了快五分钟在这里验证表达式。

2.假设a-z的环是首尾相连的,从一个字符变相邻的字符记作一步,给定一个纯小写字符串,求这个字符串全部变成同一个字符要多少步骤?(25分)

我想了一小会就转化出来了,就是暴力枚举每个字母,合计26个可能的情况。然后这个首尾相连的操作就是先对26取模,后面判断是否大于12,如果大于那么就变成26-这个数。

3.给定一个纯数字串s(s<=100000)和一个k,请问s中的多少个连续子串表达的数小于k?(25分)

前面基础题最变态的一题,想了我老半天,最后发现是连续子串,难度降低一万倍。但即便如此也很难模拟。我估计理论上这题是可以拉分的,但是感觉就是拉不开哪怕有一点蓝桥杯经历的学生。

首先先把k数量级的算出来记为klen,有大用。

如果子串的长度小于k的数量级,那么一定可以成功,然后你去发现由于这个是连续的,所以这一段实质上是从len加到len+1-klen的等差数列。

然后讨论恰好长度为klen的子串,那么就一个一个遍历了。从第i到第i+klen-1个位置,这个值的变化就等于(原值%pow(10,klen-1))*10+ai-'0',然后一个一个判断是否小于k。

4.模拟链表,先把第一第二换序,再把倒一倒二换序,求最后的序列(25分,纯送)

5.一个网格grid,2坏苹果1好苹果0没苹果。传播只有上下左右四个方向,请问把所有的好苹果变坏需要多久?如果总有好苹果请输出-1。

这个题目比较特殊,这个给死了模版是面向对象,这个只是一个小模块,如果不用这个模版方法就0分。所以我只好顺着这个垃圾模版写下去了。

bfs的框架搭出来了,给定的传参数据是grid,vector<vector<>>类型。然后我就懵逼了,这个没有一个已经遍历的数组,做的很蹩脚。

我到最后的bfs的判定条件也一直在用grid数组本身,难怪搞半天遍历不下去,只能遍历第一行。

如果现在我来,我一定重新复制一份数组,就能把这个题跑通。

搞了半天,这个机试时间只有一小时也是坑人。如果时间再宽裕一点,那也不好说。


现在考虑到保密性,后期我会再把这个帖子完善。

相关推荐
大鱼>1 小时前
宠物异常行为预警系统:边缘计算与实时检测
人工智能·深度学习·算法·iot·宠物
米尔的可达鸭3 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
tachibana23 小时前
hot100 课程表(207)
java·数据结构·算法·leetcode
神仙别闹3 小时前
编写基于C++ Huffman 算法的无损压缩程序和解压程序
java·c++·算法
大鱼>3 小时前
宠物活动轨迹追踪系统:GPS/BDS+UWB+BLE多定位融合方案
人工智能·深度学习·算法·iot·宠物
闲研随记3 小时前
【文献阅读 ICML 2026】RL算法:R2VPO
论文阅读·人工智能·算法·强化学习·icml·rl算法
旖-旎3 小时前
《LeetCode 646 最长数对链 || LeetCode 1143 最长公共子序列》
c++·算法·leetcode·动态规划
Frostnova丶4 小时前
(15)LeetCode 189. 轮转数组
数据结构·算法·leetcode
Lumos1864 小时前
故障保护与鲁棒性(十七)
算法