
欢乐的跳
输入读取:读取数组长度n和数组元素。 差值计算:遍历数组,计算每一对连续元素之间的差的绝对值。 集合存储差值:将所有差值存储在一个集合中,以便快速查找。 检查条件:检查集合中是否包含从1到n-1的所有整数。如果包含,则数组符合“欢乐的跳”;否则,不符合。 读取输入:首先读取数组的长度n,然后读取数组元素。 计算差值:对于数组中的每一对连续元素,计算它们的差的绝对值,并将这些绝对值存储在一个集合中。 检查条件:检查集合中是否包含从1到n-1的所有整数。如果有所有数,则输出“Jolly”,否则输出“Not jolly”。
发布日期:2021-05-15 01:06:10
浏览次数:23
分类:精选文章
本文共 1061 字,大约阅读时间需要 3 分钟。
根据题目要求,我们需要判断给定的数组是否符合“欢乐的跳”条件。具体来说,数组中的每一对连续元素之间的差的绝对值必须包含从1到n-1的所有整数。以下是具体的解决方案。
方法思路
解决代码
#include#include using namespace std;int main() { int n, m = 1; while (true) { // 读取n cin >> n; if (n == 0) { // 题目要求n >=1 cout << "Not jolly" << endl; return 0; } vector arr(n); // 注意n的情况和数组长度是否正确 if (n == 1) { // 当n=1时,不需要比较 cout << "Jolly" << endl; return 0; } bool possible = true; unordered_set diff_set; for (int i=0; i > arr[i]; } // 计算差的绝对值,并检查是否有重复,也记录到diff_set for (int i=0; i
代码解释
这个方法通过使用集合来快速检查所有必要的整数是否存在,从而确保正确性和效率。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月03日 03时33分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法
2019-03-09
ant design pro v5去掉右边content区域的水印
2019-03-09
JavaScript——使用iterator遍历迭代map,set集合元素
2019-03-09
Course Schedule II
2019-03-10
Django ORM操作
2019-03-10
京喜小程序体验评分优化实践
2019-03-10
C#中文转换成拼音
2019-03-10
C++错误笔记
2019-03-10
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
qt中转到槽后如何取消信号与槽关联
2019-03-10
qt问题记录-spin box与double spin box
2019-03-10
移动端事件
2019-03-10
spring-day01
2019-03-10
spring的值注入与组件扫描
2019-03-10
C#跨窗体程序调用方法的具体操作
2019-03-10
抖音发布黄金时间段,抖音上热门最佳时间
2019-03-10
我的图床~
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11
Iterable与Iterator
2019-03-11