蓝桥杯 算法训练:最小距离(Java)

2023-11-06

题目: 数轴上有n个数字,求最近的两个数,即min(abs(x-y))

格式:

  第一行包含一个整数n。

  接下来一行,表示n整数。

样例输入:

6

7 3 4 11 9 17

样例输出:

1

思路:

  1. 刚开始打算使用普通的两两数组元素进行比较,但是发现到达第9个测试就已经超时了

  1. 后面发现,可以先把数组给从小到大排序好然后再进行abs比较即可,数组的排序大小可以直接使用java的util下包自带的Arrays类中的sort方法。(abs:表示任意两个数差的绝对值,该方法主要使用了位运算符进行计算)感兴趣的可以到这里研究一下哈:java中取整数绝对值_Java之——位运算求整数绝对值通过下面的位运算可以得到一个整数的绝对值 - 么么^ - 博客园 (cnblogs.com)

  1. 然后再使用for循环传统的比较两个数的大小即可,若小则赋值给改比较值的变量即可 。

代码展示:

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int arr[] = new int[n + 1];
        for (int i = 1; i <= n; i++) {
            arr[i] = scan.nextInt();
        }

        Arrays.sort(arr);

        int min = arr[1];
                int temp = 0;
        for (int i = 1; i < n; i++) {
            if (min > ( temp = abs(arr[i] - arr[i + 1])))
                min = temp;
        }

        System.out.println(min);
    }

    public static int abs(int a){
        return (a + (a>>31) ^ (a>>31));
    }
}

测试结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯 算法训练:最小距离(Java) 的相关文章

随机推荐

  • LInux 锂电池驱动分析

    锂电池的驱动程序要实现以 下五个功能 1 可以自动检测到当前给电 池充电的是USB还 是AC 2 组织过大的充电电流 3 坏电池检测 4 死亡温度的检测 5 电池电压的测量 当我们要写一个锂 电池的驱动程序 的时候 首先 要知道内核提 供给
  • SpringBoot+Shiro实现免密登录

    1 自定义登录认证规则 import org apache shiro authc UsernamePasswordToken public class EasyUsernameToken extends UsernamePasswordT
  • DM6446的视频前端VPFE驱动之ioctl控制(视频缓存区,CCDC,decoder)解析之一

    本文均属自己阅读源码的点滴总结 转账请注明出处谢谢 欢迎和大家交流 qq 1037701636 email 200803090209 zjut com gzzaigcn2012 gmail com 在这里分析驱动的ioctl的内容时 需要结
  • Feature Pyramid Networks for Object Detection 论文笔记

    论文地址 Feature Pyramid Networks for Object Detection 前言 这篇论文主要使用特征金字塔网络来融合多层特征 改进了CNN特征提取 论文在Fast Faster R CNN上进行了实验 在COCO
  • 本地jar包上传的maven仓库,引用jar包中的pom依赖无法下载

    新项目开发公共组件 上传到公司maven仓库 记一次本地项目打包 上传到公司maven仓库的坑 mvn deploy deploy file DgroupId com test 分组 DartifactId test jar名称 Dvers
  • 【cuda】——cuda,opencv混合编程

    思路来自 https www cnblogs com dwdxdy p 3528711 html 但是其cuda源码是有问题的 没有cmakelists txt 背景 采用cuda gpu交换opencv图像的 r b通道 0 代码 mai
  • 恒生ufx接口转变成CTP接口

    由于当初自己的程序是对接ctp接口 里面大量使用了ctp的东西 但最近又要对接恒生的系统 想着不改整个程序 把ufx接口封装成ctp的接口形式 这样上层的业务逻辑都不用改了 已实现的主要功能 ReqUserLogin ReqOrderIns
  • C++的mutable

    一 介绍 mutable的中文意思是 可变的 易变的 正好与const相反 在C 中 mutable也是为了突破const的限制而设置的 被mutable修饰的变量 将永远处于可变的状态 即使在一个const函数中 二 用法 如果类的成员函
  • Nginx 动态负载均衡

    Nginx 负载均衡 动态实现 1 概览 1 传统配置实现的负载均衡 在加减服务器的时候 会遇到下面的问题 1 配置文件是默认地址 则需要重载配置文件 nginx s reload 加载配置文件流程 1 主进程通知worker进程进行重启
  • 一文了解什么是字节对齐(超详细)

    目录 1 什么是字节对齐 2 空类 3 带虚函数的类 32位机器 64位机器 1 什么是字节对齐 得分点 什么是内存对齐 内存对齐的原因 内存对齐的规则 标准回答 什么是内存对齐 现代计算机中内存空间都是按照 字节 byte 划分的 从理论
  • mnist数据集转换成图片和csv文档

    通常官网提供的mnist数据集都是压缩格式的文档 有时候我们在使用的时候需要将其 1 解压成图片格式存入文件夹 2 或者保存成csv格式的文档 1 保存成图片格式 windows下 coding utf 8 Created on Tue F
  • linux audit审计服务audit.rules策略参数

    audit是linux内核的特性 可以通过内核参数audit 1来启用 etc audit audit rules是audit的规则文件 本文主要讲述如何利用audit来监视系统重要资源 一 监控文件系统行为 依靠文件 目录的权限属性来识别
  • 统计回文

    回文串 是一个正读和反读都一样的字符串 比如 level 或者 noon 等等就是回文串 花花非常喜欢这种拥有对称美的回文串 生日的时候她得到两个礼物分别是字符串A和字符串B 现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一
  • udev使用笔记

    一 什么是udev udev是linux kernel的设备管理器 在最新的内核版本中kernel 3 10中udev已经代替了以前devfs hotplug等功能 意味着它要处理添加 删除硬件时 所有的用户空间行为 实际上为什么我关注这个
  • 华为OD机试 - 称砝码(Java)

    题目描述 现有n种砝码 重量互不相等 分别为 m1 m2 m3 mn 每种砝码对应的数量为 x1 x2 x3 xn 现在要用这些砝码去称物体的重量 放在同一侧 问能称出多少种不同的重量 输入描述 对于每组测试数据 第一行 n 砝码的种数 范
  • Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制

    一 准备工作 1 在网上要购买一块ESP8266 01s带relay继电器的 价格10几元 2 网上购买一个USB转TTL的转接头 我自己用是CH340 价格几元 3 找一个服务器 当然免费的最好 我用的是酱菜创客平台 此平台是给创客提供一
  • 降温的区块链,或许是一个全新开始!

    现如今 区块链的降温正在让跟风与吹捧现出原形 人们开始从庞杂的区块链市场当中找到新的发展方向 区块链开始从简单的打概念 搞论坛 发ICO 逐步转移到了具体应用上 从这个角度来看 当下降温的区块链或许正孕育着一个全新的开始 区块链开始找到数字
  • STAR法则,被这个理由拒绝这么多次,必须搞明白!

    首先 STAR法则是一种常常被HR使用的工具 用来收集与面试者工作相关的具体信息和能力 一个概念 STAR法则 即为Situation Task Action Result的缩写 具体含义是 Situation情境 HR希望你描述一个你遇到
  • chromecast投屏_如何将手机或者ipad投屏到电脑上

    最玩游戏近老想把ipad投屏到电脑上 于是小编了解了一下现在好用的投屏APP 发现了傲软投屏 这是一款能够同时兼容iOS和安卓系统的同屏软件 支持在Windows及Mac上使用 只要您的安卓系统在5 0及以上 支持Chromecast协议
  • 蓝桥杯 算法训练:最小距离(Java)

    题目 数轴上有n个数字 求最近的两个数 即min abs x y 格式 第一行包含一个整数n 接下来一行 表示n整数 样例输入 6 7 3 4 11 9 17 样例输出 1 思路 刚开始打算使用普通的两两数组元素进行比较 但是发现到达第9个