编程机考模拟题

本文包含多道编程竞赛题目,涉及算法、数据结构、逻辑推理等多个方面,如找众数和中位数、消消乐游戏、流水线调度、找朋友、正方形数量计算等。题目要求解决各种复杂问题,如数组去重排序、字符串处理、计算最长顺子、日志排序、解压编码等,旨在考察编程思维和问题解决能力。
摘要由CSDN通过智能技术生成

一共三题,总分400分,第一、二题分别100分,第三题 200分

第一题:(100分)

题目1:【查找众数及中位数】

1.众数是指一组数据中出现次数量多的那个数,众数可以是多个

2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个

数之和除以2,所得的结果就是中位数

3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数

题目2:【消消乐游戏】

游戏规则:输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。 在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。 输出最终得到的字符串长度。

题目3:【流水线】 

一个工厂有m条流水线,来并行完成n个独立的作业,该工厂设置了一个调度系统,在安排作业时,总是优先执行处理时间最短的作业。

现给定流水线个数m,需要完成的作业数n, 每个作业的处理时间分别为t1,t2…tn。请你编程计算处理完所有作业的耗时为多少? 当n>m时,首先处理时间短的m个作业进入流水线,其他的等待,当某个作业完成时,依次从剩余作业中取处理时间最短的进入处理。

 

题目4:【找朋友】

在学校中,N个小朋友站成一队, 第i个小朋友的身高为height[i], 第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么j是i的好朋友(要求j > i)。 请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置用0代替。 小朋友人数范围是 [0, 40000]。

题目5:【构成的正方形数量】

输入N个互不相同的二维整数坐标, 求这N个坐标可以构成的正方形数量。(内积为零的两个向量垂直)

题目6:【数组去重和排序】

给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。

题目7:【最长的顺子】

斗地主起源于湖北十堰房县,据传是一位叫吴修全的年轻人根据当地流行的扑克玩法“跑得快”改编的,如今已风靡整个中国,并流行于互联网上。 牌型: 单顺, 又称顺子,最少5张牌,最多12张牌(3⋯A),不能有2,也不能有大小王,不计花色 例如:3-4-5-6-7-8,7-8-9-10-J-Q,3-4-5-6-7-8-9-10-J-Q-K-A 可用的牌 3<4<5<6<7<8<9<10<J<Q<K<A< B(小王)< C(大王),每种牌除大小王外有4种花色(共有 13X4 + 2 张牌) 输入1. 手上已有的牌 2. 已经出过的牌(包括对手出的和自己出的牌) 输出: 对手可能构成的最长的顺子(如果有相同长度的顺子, 输出牌面最大的那一个),如果无法构成顺子, 则输出 NO-CHAIN

题目8:【寻找相同子串】

给你两个字符串 t 和 p ,要求从 t 中找到一个和 p 相同的连续子串,并输出该字串第一个字符的下标。

题目9:【一种字符串压缩表示的解压】

有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他 部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。 请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符 串,若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。

题目10:【构成的正方形数量】

输入N个互不相同的二维整数坐标, 求这N个坐标可以构成的正方形数量。(内积为零的两个向量垂直)

题目11:【报数游戏】

100个人围成一圈,每个人有一个编码,编号从1开始到100。他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。请问最后剩余的人在原先的编号为多少?

题目12:【字符串分割】

给定非空字符串s,将该字符串分割成一些子串,使每个子串的ASCII码值的和均为水仙花数。 1、若分割不成功,则返回0 2、若分割成功且分割结果不唯一,则返回-1 3、若分割成功且分割结果唯一,则返回分割后子串的数目

题目13:【矩阵最大值】

给定一个仅包含0和1的N*N二维矩阵,请计算二维矩阵的最大值,计算规则如下: 1、 每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值。矩阵各行值之和为矩阵的值。 2、允许通过向左或向右整体循环移动每行元素来改变各元素在行中的位置。 比如: [1,0,1,1,1]向右整体循环移动2位变为[1,1,1,0,1],二进制数为11101,值为29。 [1,0,1,1,1]向左整体循环移动2位变为[1,1,1,1,0],二进制数为11110,值为30。

题目14:【快递运输】

 一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。

注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。

题目15:【寻找身高相近的小朋友】

小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请 帮他实现排序。

题目16:【用户调度问题】

在通信系统中,一个常见的问题是对用户进行不同策略的调度,会得到不同的系统消耗和性能。 假设当前有n个待串行调度用户,每个用户可以使用A/B/C三种不同的调度策略,不同的策略会消耗不同的系统资源。请你根据如下规则进行用户调度,并返回总的 消耗资源数。

规则:

 1. 相邻的用户不能使用相同的调度策略,例如,第1个用户使用了A策略, 则   第2个用户只能使用B或者C策略。

  1. 对单个用户而言,不同的调度策略对系统资源的消耗可以归一化后抽象为数值。例如,某用户分别使用A/B/C策略的系统消耗分别为15/8/17。

3. 每个用户依次选择当前所能选择的对系统资源消耗最少的策略(局部最优),如果有多个满足要求的策略,选最后一个。

题目17:【第k个排列】

给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有 n! 种排列。

按大小顺序升序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123"

"132"

"213"

"231"

"312"

"321"

给定 n 和 k,返回第 k 个排列。

题目18:【求解连续数列】

已知连续正整数数列{K}=K1,K2,K3...Ki的各个数相加之和为S,i=N (0<S<100000, 0<N<100000), 求此数列K。

题目19:【素数之积】

RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪 两个素数的乘积。

题目20:【非严格递增连续数字序列】

输入一个字符串仅包含大小写字母和数字&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值