[编程题] 等差数列
来源:互联网 发布:福岛核电站事故 知乎 编辑:程序博客网 时间:2024/06/05 08:48
如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。
小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列
输入描述:
输入包括两行,第一行包含整数n(2 ≤ n ≤ 50),即数列的长度。
第二行n个元素x[i](0 ≤ x[i] ≤ 1000),即数列中的每个整数。
输出描述:
如果可以变成等差数列输出”Possible”,否则输出”Impossible”。
输入例子1:
3
3 1 2
输出例子1:
Possible
结题思路
对读取的数列进行排序,然后遍历验证是否满足S[i + 1]-S[i]=d的性质,若满足则输出Possible,否则输出Impossible。
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] data = new int[n]; for (int i = 0; i < n; i++) { data[i] = sc.nextInt(); } Arrays.sort(data); int d = data[1] - data[0]; for (int i = 1; i < data.length - 1; i++) { if(data[i+1]-data[i]!=d) { System.out.println("Impossible"); return; } } System.out.println("Possible"); }}
阅读全文
0 0
- [编程题] 等差数列
- 网易编程题 等差数列
- [编程题] 等差数列
- [编程题] 等差数列
- 网易2017内推 [编程题] 等差数列@Java
- 2018年网易校招内推编程题之等差数列
- 2018网易校招编程题(2) 等差数列
- 网易2018校招内推编程题集合:等差数列 [python]
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 河南多校赛(4)GJJ来签到
- 贪心算法解析
- ShaderLab: Pass
- 面向对象的创建
- 浅谈算法_二分图匹配
- [编程题] 等差数列
- 今日头条频道管理(简易shixian)
- mysql------数据库及服务器优化
- Yet another Number Sequence UVA
- CSS3自定义滚动条样式
- 将maven项目打包成可执行的jar
- SIFT特征提取分析
- 信号与槽的详解
- 多校联盟(四)I-GJJ的日常之玩游戏