| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【秋招机试真题】寒武纪0919机试 -> 正文阅读 |
|
[数据结构与算法]【秋招机试真题】寒武纪0919机试 |
第一题: 题目描述: 寒武纪OJ比赛,定义了如下分数处理规则 | 每个参加者的分数范围都是[0, 100] | 分数低于40分的为不及格成绩 HR小姐姐为了统计方便,会对比赛的分按照下面规则处理: | 如果分数距离下一个5的倍数的插值小于3,则将这个分数向上对齐到5的倍数 说明:这题白给的,不废话了。 AC 直接上代码:
第二题: 题目描述:给定一个长度为N的列表,列表的初始值全为0。对此列表,进行M次查询,输出列表最终N个值中的最大值,对于每次查询,输入时3个整数-a, b和k,你要对列表中从位置a到位置b范围内的(包括a, b)的全部元素加上k 下方输入输出样例的解释: 第一次更新后,列表变为 100 100 0 0 0? 第二次更新后,列表变为 100 200 100 100 100 第三次更新后,列表变为 100 200 200 200 100 说明:实在是想不出到底哪里出问题了,只过了50%。这道题也挺简单的 代码如下:
第三题: 题目描述: 给定一个数组,期望通过一种处理方法使得这个数组中的每一个数字都大于等于给定的值k具体的处理步骤如下: | 将最小的两个数字按照规则合并成一个新数字,新数字=最小的数字+2*倒数第二小的数组 | 重复以上步骤,直到数组中所有的数字都大于等于k 通过程序计算处理给定的数组上述步骤需要重复多少次 说明: 此题AC,题干中没有说明如果数组只剩一个小于k的数字,没有倒数第2小的数字,要返回-1,这也是我试出来的,从56%到了100% 解题思路: 1、初始化:使用两个优先队列,一个优先队列q1存储小于k的值,一个优先队列q2存储大于k的值 2、循环:循环进入条件是q1不为空,说明数组中还存在小于k的值,然后找到两个最小的数,有几种情况: ? ? ? ? 1、一种是最小的数和倒数第二小的数都在q1中,那就从q1弹出,计算后,再判断是否大于k,如果小于k还压入q1中,反之压入q2; ? ? ? ? 2、一种是最小的数在q1,倒数第二小的数在q2,那就分别进行q1q2的出队列,计算新的值; ? ? ? ? 3、一种是最小的数在q1,没有倒数第二小的数,此时说明无法将数组中的数全部变为>=k的,返回-1,这个题干没说,我是试数试出来的; 3、终止条件: q1为空,说明数组中已不存在小于k的值了 在2步骤中,只要计算一次新的值,结果就+1,最后将结果返回; 代码如下:
第四题: 题目描述:暑假到了,每次秋雅约夏洛出去玩,夏洛都在忙着做家庭作业,秋雅向帮助夏洛尽快完成家庭作业,你能帮忙吗? 给定一个长度为n的数组,arr=[a[0], a[1],a [2], ..., a[n-1]]。秋雅可以交换任意的两个数字。如果在这个数组中[arr[i]-arr[i-1]]每一项的和是最小的,则认为这个数组是完美的,下面请计算出将一个数组转换成一个完美数组所需要的最少交换次数 说明: 此题AC了60% 解题思路:我认为完美数组就是有序数组,采用贪心算法,从后面开始,将当前的值和其在有序数组中存在对应的位置上的元素进行交换, 直到遍历整个数组 代码如下:
欢迎大家和我交流,指出我的问题呀~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:40:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |