考试平台: 赛码    时间: 2023-09-02    考试题型: 单选 15 题(3分/题) + 多选 10题 (3分/题) + 编程题 2题(10分 + 15 分)      T1 小米手机通讯校准 (10分)   题目描述   小米手机生产过程中会经过严苛的测试环节,其中包括手机通讯功能中的射频校准。射频校准会打点数据上报到云端。其中包含两组费据:第一组数据中会包含此次校准的频道号(freg)信息; 第二组会上传一批数据,包含一组频道号(freg)和其对应的损失值(loss),其中这一组频道号(freg)不会重复,且是有序的。   现在需要根据第一组数据中的频道号(freq),找到离第二组中频道号(freg)最近的那一个freq对应的loss值,如果两边一样近,则取两边loss的平均。 (注:输入为int,输出为double类型四舍五入保留1位小数)   输入猫述   包含两组数据 第一组数据中会包含此次校准的频道号(freq)信息 第二组会上传一批数据,包含一组频道号(freq)和其对应的损失值(loss),其中这一组频道号(fre)不会重复,且是有序的。   输出描述   离频道号(freq)最近的freq对应的loss值,如果两边一样近,则取两边loss的平均.   样例   输入   28001950:10,2000:15,3000:9   输出   9.0   题解       只需要循环走一遍找最近的 freq 并更新 loss 即可。      import java.text.DecimalFormat;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int freq = Integer.parseInt(scanner.nextLine());        String[] split = scanner.nextLine().split(",");        double ans = 0;        int minDistance = Integer.MAX_VALUE;        for (int i = 0; i < split.length; i++) {            String[] str = split[i].split(":");            int f = Integer.valueOf(str[0]), loss = Integer.valueOf(str[1]);            int distance = Math.abs(f - freq);            if (distance < minDistance) {                ans = loss;                minDistance = distance;            } else if (distance == minDistance) {                ans = (ans + loss) / 2.0;            }        }        Dec                       
点赞 20
评论 1
全部评论

相关推荐

点赞 评论 收藏
分享
头顶尖尖的程序员:黑马外卖➕鱼皮bi
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-17 14:06
点赞 评论 收藏
分享
头像
08-13 14:20
已编辑
门头沟学院 Java
之前在学校的时候,舍友老是熬夜打游戏,周末还喜欢早起打游戏😅,吵得没法睡到自然醒现在出来实习独居后,想干嘛就干嘛,打游戏刷视频,没有任何顾虑,学习工作,也没有人能打扰我🦌就这个独居爽
天才无敌小土豆:之前在学校 宿舍一个巨瘦的哥们天天熬夜打游戏 呼噜声还巨大 我睡觉超级敏感 天天睡不着 我睡他下铺 半夜踹他床板让他飞起来 就那一会不会打呼噜 然后继续 那段时间我感觉我都yw了 后来我换了个远一点的床铺 买了新的那种可以捏小的耳塞 老子睡觉爽死了 后悔大三才发现这种耳塞 老子yw又好了 天天夜里上厕所都梆硬
独居后,你的生活是更好了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务