【备战秋招】每日一题:4月1日美团春招(二批)第一题:题面+题目思路 + C++/python/js/Go/java带注释

news2024/11/23 15:29:42

2023大厂笔试模拟练习网站(含题解)

www.codefun2000.com
最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200+道互联网大厂模拟练习题,还在极速更新中。欢迎关注公众号“塔子哥学算法”获取最新消息。
在这里插入图片描述
提交链接:

https://codefun2000.com/p/P1137

为了更好的阅读体检,可以查看OJ上的题解。进入提交链接,点击右边菜单栏的"查看塔子哥的题解"

题目内容

塔子哥是一个非常有个性的人,他对待装饰品摆放方式的审美角度很奇特。他认为高度相差比较大的装饰品放在相邻位置会很难看。最近,他正在整理桌子上的一排装饰品,但是发现它们的位置摆放得不太好看。于是,他想对这排装饰品进行整理,可以交换任意两个装饰品的位置任意多次,以便让它们看起来更加美观。

假设当前从左到右 n n n 个装饰品的高度分别为 h 1 , h 2 , … , h n h_1,h_2,…,h_n h1,h2,,hn 那么当前这一排装饰品的丑陋值为 ∑ i = 1 n − 1 ∣ h i − h i + 1 ∣ \sum^{n-1}_{i=1} |h_i-h_{i+1}| i=1n1hihi+1 ,其中 ∣ x ∣ |x| x x x x 的绝对值。塔子哥不想他的装饰品看起来很丑陋,他想最小化他的装饰品的丑陋值,请你帮他排一下顺序。

形式化地来讲,有一长为 n n n 的序列 a 1 , a 2 , … , a n a_1,a_2,…,a_n a1,a2,,an ,你可以任意次数地进行交换,每次交换都可以选择任意两个不同的数 i , j i,j i,j ,交换 a i , a j a_i,a_j ai,aj 的位置。

假设经过若干次交换后,序列变为 h 1 , h 2 , . . . , h n h_1,h_2,...,h_n h1,h2,...,hn 其丑陋值为 ∑ i = 1 n − 1 ∣ h i − h i + 1 ∣ \sum^{n-1}_{i=1} |h_i-h_{i+1}| i=1n1hihi+1 ,你需要找出一种交换方式,使得最终序列 { h n } \{h_n\} {hn} 的丑陋值最小化。

你不需要输出具体交换,只需要输出最终的 { h n } \{h_n\} {hn} 序列的丑陋值即可。

输入描述

第一行一个整数 n n n ,表示塔子哥的装饰品数量。

接下来一行 n n n 个整数 a 1 , a 2 , … , a n a_1,a_2,…,a_n a1,a2,,an ,依次表示从左到右 n n n 个装饰品的高度。

对于所有的数据: 2 ≤ N ≤ 50000 2\le N \le 50000 2N50000 0 ≤ a i ≤ 1 0 9 0\le a_i \le 10^9 0ai109

输出描述

输出第一行一个数,为最优方案的最小丑陋值。

样例

输入

3
3 1 2

输出

2

样例解释
我们可以将3和1交换,得到

1 3 2

然后再将2和3交换,得到

1 2 3

可以证明,此时有最小丑陋值 ∣ 1 − 2 ∣ + ∣ 2 − 3 ∣ = 2 |1-2|+|2-3|=2 ∣12∣+∣23∣=2

题目思路

思路:贪心

将其升序排序,求一遍即可。其实等价于最大值 - 最小值。复杂度 O ( n ) O(n) O(n)

类似题目推荐

由于题目很简单,塔子哥并没有找到特别相似的题目。所以给大家找了一些排序 + 贪心的题目。普遍比本题难!

Leetcode

1.435 无重叠区间

2.406 根据身高重建队列

4.621 任务调度器

5.45 跳跃游戏 II

codefun2000

1.P1075 2023.3.12-飞机大战

2.P1077 2023.3.11-第一题-字符串修改

3.P1084 2023.3.15-第三题-k次操作最小化极差

4.P1089 2023.3.18.10点-第三题-塔子哥的回文串

代码

C++

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    int maxVal = *max_element(a.begin(), a.end());
    int minVal = *min_element(a.begin(), a.end());
    cout << maxVal - minVal << endl;
    return 0;
}

python

n = int(input())
a = list(map(int,input().split()))
print(max(a)-min(a))

Java

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();

        ArrayList a = new ArrayList();

        for (int i = 0; i < n; i++) {
            a.add(scanner.nextInt());
        }

        int maxVal = Collections.max(a);
        int minVal = Collections.min(a);

        System.out.println(maxVal - minVal);
    }
}

ps

Go和Js就不放了,实在简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/579811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用render平台免费部署自己的ChatGPT

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

解决websocket在部署到服务器https下无法使用的问题

目录 一、问题 1.1 问题描述 1.2 问题详细描述 二、解决 2.1 https下的链接类型 2.2 修改Nginx的配置 一、问题 1.1 问题描述 一个小项目中使用到了websocket&#xff0c;这个websocket在本地完全是完全正常运行的&#xff0c;不管是前后台的信息通讯 还是 异常报错接收…

JavaScript教程(高级)

面向对象编程介绍 两大编程思想 &#xff08;1&#xff09;、 面向过程编程&#xff1a; &#xff08;缩写 POP&#xff09;&#xff08; Process-oriented programming&#xff09;面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&am…

【PowerQuery】M语言的使用产品和使用场景

当然PowerQuery的M语言应用场景不只是引用在PowerBI和Excel中,它具有广泛的应用场景。目前我们可以在以下产品的使用场景中应用到M语言。 Excel PowerQuery应用Excel通过M语言可以实现整体数据的清洗和重构。  PowerBI 的PowerQuery应用 PowerBI也是通过M语言来实现数据…

VSCODE 插件推荐

文章目录 项目管理Project Manager markdownmarkdown-pdfPaste ImageMarkdown Preview Enhanced 笔记Notes 思维导图vscode-mindmap 开发Visual Studio IntelliCode GitHub Repositories 项目管理 Project Manager 以下是项目管理器提供的一些功能&#xff1a; 将任何文件夹…

JS中this的指向

JS中this的指向 本文目录 JS中this的指向全局上下文&#xff08;Global Context&#xff09;函数上下文&#xff08;Function Context&#xff09;普通函数调用作为对象的方法调用构造函数调用箭头函数回调函数 事件处理器上下文&#xff08;Event Handler Context&#xff09;…

find_package深度解析及实例应用

1. 检索模式 1.1 module模式 在这个模式下会查找一个名为find.cmake的文件&#xff0c;首先去CMAKE_MODULE_PATH指定的路径下去查找&#xff0c;然后去cmake安装提供的查找模块中查找&#xff08;安装cmake时生成的一些cmake文件&#xff09;。找到之后会检查版本&#xff0c;…

大模型全情投入,低代码也越来越清晰

众所周知&#xff0c;不少互联网企业在大模型领域全情投入。那么在这阵阵浪潮中&#xff0c;我们可以观察到什么样的“众生相”&#xff1f; 今年3月以来&#xff0c;国内已有超过20家企业入局大模型赛道。从百度“文心一言”、阿里“通义千问”的发布&#xff0c;华为“盘古”…

解决Kali的Python版本切换问题以及pip2安装问题

问题背景 需要使用Python2版本运行脚本&#xff0c;但是Kali系统自从2021后Python2&#xff0c;3共存 解决方案 &#xff08;1&#xff09;打开终端输入以下命令&#xff0c;但是需要有root权限 update-alternatives --install /usr/bin/python python /usr/bin/python2 100…

k8s介绍

目录 1&#xff1a;k8s概念 2&#xff1a;为什么引入k8s和k8s特性 2.1 为什么要引入k8s&#xff1a; 2.2 k8s特性 3 K8S架构 1&#xff1a;k8s概念 k8s官方网站&#xff1a;Kubernetes Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和…

数据库基础——5.运算符

这篇文章我们来讲一下SQL语句中的运算符操作。 说点题外话&#xff1a;SQL本质上也是一种计算机语言&#xff0c;和C&#xff0c;java一样的&#xff0c;只不过SQL是用来操作数据库的。在C&#xff0c;java中也有运算符&#xff0c;这两种语言中的运算符和数学中的运算符差距不…

【形形色色的卷积】差分卷积

文章目录 0. 前言1. 中心差分卷积2. 像素差分卷积3. 参考 0. 前言 普通卷积不能显式地提取图像的梯度信息&#xff0c;因此不能较好地描述细粒度的纹理信息&#xff0c;在人脸活体检测、边缘检测等对细粒度纹理信息敏感的任务中难以取得理想的结果。针对上述问题&#xff0c;O…

基于STM32的定时器--定时中断(HAL库)

基于STM32的定时器--定时中断&#xff08;HAL库&#xff09; 介绍引言定时器介绍 实例项目介绍准备设计流程 介绍 引言 本文旨在介绍如何使用STM32CubeMX配置KEIL 5开发一个每10us定时器中断触发一次的项目。帮助初学者入门STM32的定时器使用。 定时器介绍 定时器是STM32微…

2.信息安全之常用黑客攻击手段

1.自己也可以建CA系统 winserver2003 https 准备2台机器xpsp3(证书,Web),在同一网段,https通讯 –>网络内部网络(同一网段) (iso镜像才有网络和服务…这个镜像已 经安装好了(不能乱删)) sp1 2 3 的网络 改 tcp/ip 属性 ip地址112.26.0.1 和子网掩码255.0.0.0(与ip地址对应,…

opencv_c++学习(二十七)

一、单目相机模型 上图为针孔相机成像原理&#xff0c;蓝色坐标中的O即为镜头光心。成像原理与小孔成像相同。 单目相机映射关系如下&#xff1a; 将上式进行变换&#xff0c;就可以从三位空间映射到2维平面的公式。 相机的畸变公式如下&#xff1a; 二、模型投影函数 vo…

数据结构基础内容-----第五章 串

文章目录 串串的比较串的抽象数据类型串的顺序存储结构朴素的额模式匹配算法kmp模式匹配算法 串 在计算机编程中&#xff0c;串&#xff08;String&#xff09;是指由零个或多个字符组成的有限序列。它是一种基本的数据类型&#xff0c;在许多编程语言中都得到了支持和广泛应用…

STM32之SPI和W25Q128

目录 SPI 介绍 SPI 物理架构 SPI 工作原理 SPI 工作模式 W25Q128 介绍 W25Q128 存储架构 W25Q128 常用指令 W25Q128 状态寄存器 W25Q128 常见操作流程 实验&#xff1a;使用 SPI 通讯读写 W25Q128 模块 硬件接线 cubeMX配置 w25q128_write_nocheck流程图 代码&a…

如何在华为OD机试中获得满分?Java实现【最长回文子串】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

网络原理(八):HTTPS

目录 HTTP 基本工作流程 利用对称密钥进行加密 利用非对称密钥进行加密 引入了第三方权威机构加密 之前在http 协议中说到&#xff1a;我们现在很少有网站直接使用HTTP 协议的&#xff0c;而是使用HTTPS &#xff0c;至于什么原因&#xff0c;本篇会介绍清楚。 HTTPS 其实…

C++11 -- lambda表达式

文章目录 lamaba表达式的引入lambda表达式语法lamabda达式各部分说明捕获列表说明 lamaba表达式底层原理探索 lamaba表达式的引入 在C11之前,如果我们想对自定义类型Goods排序,可以根据姓名,价格,学号按照从大到小或者从小到大的方式排序,可是,这样我们要写额外写6个相关的仿函…