当前位置: 首页> 科技> 名企 > 网址入口_防疫优化措施_北京网站优化实战_如何自己开发一个平台

网址入口_防疫优化措施_北京网站优化实战_如何自己开发一个平台

时间:2025/7/11 1:05:02来源:https://blog.csdn.net/m0_60605989/article/details/144096748 浏览次数:0次
网址入口_防疫优化措施_北京网站优化实战_如何自己开发一个平台

2024-11-27 - 第 35 篇 - 算法学习笔记
C++、洛谷、排序
作者(Auhor): 郑龙浩 / 仟濹(CSDN账号名)

洛谷 - P1152 - 欢乐的跳

一、题目

题目描述

一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了 [1,n-1] 之间的所有整数,则称之符合“欢乐的跳”,如数组 {1,4,2,3} 符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。

给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。

输入格式

每组测试数据第一行以一个整数 n(1 <= n <= 1000) 开始,接下来 n 个空格隔开的在 [-108,108] 之间的整数。

输出格式

对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出 Jolly,否则输出 Not jolly

样例 #1

样例输入 #1

4 1 4 2 3

样例输出 #1

Jolly

样例 #2

样例输入 #2

5 1 4 2 -1 6

样例输出 #2

Not jolly

提示

1 <= n <=1000

二、思路

思路:

  1. 输入数组中的数据
  2. 将相邻两个元素的差值的绝对值存入第二个数组 arr2中
  3. 将 arr2 差值的绝对值组成的数组 --> 从大到小排序
  4. 只需比较最大的元素,如果最大的元素 范围在[1, n-1],而是 “欢乐的跳”, 否则不是“欢乐的跳”
  5. 条件:数组宽度 1 <= n <= 1000
  6. 条件:数组元素 -10^8 <= arr[ i ] <= 10^8

三、代码实现

// 洛谷P1152 欢乐的跳
// 思路:
// 1. 输入数据
// 2. 将相邻两个元素的差值的绝对值存入第二个数组 arr2中
// 3. 将 arr2 差值的绝对值组成的数组 --> 从大到小排序
// 3. 只需比较最大的元素,如果最大的元素 范围在[1, n-1],而是 “欢乐的跳”, 否则不是“欢乐的跳”
// 3. 条件:数组宽度 1 <= n <= 1000
// 4. 条件:数组元素 -10^8 <= arr[ i ] <= 10^8
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
bool compare( long long a, long long b ){return a > b;
}
int main( void ){vector <long long> arr; // 存储元素vector <long long> arr2;int n; // 数组宽度cin >> n;// 输入数据for( int i = 0; i < n; i++ ){int temp;cin >> temp;arr.push_back( temp );}// 计算相邻两个元素的差值的绝对值for( int i = 0; i < n - 1; i++ ){arr2.push_back( abs( arr[ i ] - arr[ i + 1 ] ) );}// 排序sort( arr2.begin(), arr2.end(), compare );// 比较if( arr2[ 0 ] >= 1 && arr2[ 0 ] <= n - 1 ){cout << "Jolly" << endl;}else{cout << "Not jolly" << endl;}return 0;
}
关键字:网址入口_防疫优化措施_北京网站优化实战_如何自己开发一个平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: