2018校招真题编程题(网易)疯狂队列

题目描述
小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大的顺序来进行列队。现在给出n个学生的身高,请计算出这些学生列队的最大可能的疯狂值。小易老师回来一定会气得半死。
输入描述:
输入包括两行,第一行一个整数n(1 ≤ n ≤ 50),表示学生的人数
第二行为n个整数h[i](1 ≤ h[i] ≤ 1000),表示每个学生的身高
输出描述:
输出一个整数,表示n个学生列队可以获得的最大的疯狂值。

如样例所示:
当队列排列顺序是: 25-10-40-5-25, 身高差绝对值的总和为15+30+35+20=100。
这是最大的疯狂值了。
示例1
输入
5
5 10 25 40 25
输出
100

import java.util.*;

public class CreazyQueue {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int array[] = new int[n];
        for(int i=0;i < n;i ++){
            array[i] = scanner.nextInt();
        }
        Arrays.sort(array);
        if(n == 1){
            System.out.println(0);
        }
        if(n == 2){
            System.out.println(Math.abs(array[1] - array[0]));
        }
        if(n == 3){
            int a = Math.abs(array[1] - array[0]);
            int b = Math.abs(array[2] - array[0]);
            System.out.println(a + b);
        }
        else{
            int sum = Math.abs(array[n - 1] - array[0]) + Math.abs(array[n - 2] - array[0]);
            int index = n;
            for(int i = 1,j = index - 1;i <= index - 1 && j-2 >= i;i ++,j --){
                sum += array[j] - array[i];
                sum += array[j - 2] - array[i];
            }
            System.out.println(sum);
        }
    }
}

这题画个图说下思路:应该是贪心吧。
在这里插入图片描述

健身小程序前后端源码 健身小程序前后端源码 环境要求: PHP >= 7.0 (推荐7.2+) Laravel 5.6+ 安装步骤: 安装PHP环境(请自行百度) 将源码上传到 web 目录 参考 Laravel 安装步骤就可以了 小程序源码是 weapp 目录,用 HBuilder 打开,填写自己小程序的 appid 配置好域名即可 推荐使用宝塔安装,比较省事,还有 PHP 相关的扩展需要启用,有些函数也需要启用(laravel 需要用到一些函数)。 下载插件代码 下载后,解压到某个目录下,然后打开 HBuilder X ,文件->导入->从本地项目导入,找到刚才的解压后的目录,进行导入 修改接口域名 打开app代码->plugins->request->js->index.js, 将代码 http://js.wonyes.org/api/ 改为你的域名(稍后将说明如何下载配置后端代码),假设你部署后端的域名是 www.abc.com,那么这里填写 http://www.abc.com/api/ 后端源码,后端基于 laravel 5.8,源码健身小程序源码压缩包里的api.zip 部署环境 建议使用宝塔面板,配置好 php7.2 + mysql5 ,建立一个站点,然后将解压后的源码上传到该目录下,宝塔面板->网站->本站->设置->网站目录->运行目录->选择 public 伪静态设置为 code location / { try_files $uri $uri/ /index.php$is_args$query_string; } 进入网站根目录,将 storage 和 bootstrap/cache 设为权限为 777 从终端进入该站点目录下(带有composer.json的目录),执行 composer install,等待完成 建立一个数据库,库名和用户名均为 jianshen,密码为 asdgasdgasa324,,也可自行修改,修改后需同步更改根目录下 .env 文件中的密码信息,然后导入网站根目录下的 data.sql 假设你部署的域名是 www.abc.com,那么后台管理地址是 http://www.abc.com/sidong, 用户名 admin 密码 123456 进入后台,首先到 系统设置->商户管理->驷动健身->编辑,配置 小程序id、商户id、密钥等相关信息,否则不可用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值