[编程题] 等差数列 网易2018

如果一个数列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

解题思路:先排序后判断
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    int a[1000];
    cin>>n;
    int m;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }

    sort(a,a+n);
    for(m=1;m<n-1;m++)
    {
        if(a[m]*2!=a[m-1]+a[m+1])
            {
                cout<<"Impossible";
                break;
            }
    }
    if(m==n-1)
        cout<<"Possible";
}
时间: 2024-10-15 17:09:20

[编程题] 等差数列 网易2018的相关文章

网易2017秋招编程题集合-牛客网

网易2017秋招编程题集合-牛客网 链接:https://www.nowcoder.com/questionTerminal/0147cbd790724bc9ae0b779aaf7c5b50来源:牛客网 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列.例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列. 现在给出一个数字序列,允许使用一

网易2017春招笔试真题编程题集合题解

01 双核处理 题目 一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务.n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间. 输入描述 输入包括两行:第一行为整数n(1 ≤ n ≤ 50)第二行为n个整数lengthi,表示每个任务的长度为length[i]kb,每个数均为1024的倍数. 输出描述输出一个整数,表示最少需

网易秋招校招编程题

网易内推面试凉了,再战正式批笔试,选择和简答略难,编程题很良心,基本就是模拟.找规律,略加思考就能解出来的题目,本弱鸡只有在良心网易笔试才能AK. 1.翻转翻转 这题一开始没思路,ac了后两题后再回来思考,发现只需要判断某个位置周围有几个点,就代表了那个位置会被别的点翻转几次,那么如何求周围有几个点呢? 简单的把位置分成3类: 一类是四个顶点:每个顶点会被翻转4次(加上自己翻转一次). 第二类是四条边(不含顶点):边上的点会被翻转6次. 第三类就是中间部分:中间的每个点会被翻转9次. 因此翻转9

2018阿里巴巴在线编程题

在其他博客上看到一道 "2018阿里巴巴在线编程题" 我记得题目大概是这样的:输入数据n(n>=6)代表n个数,从0-9任意输入n个数,然后在n个数选出6个数xx-xx-xx表示 时:分:秒,求出最小时间和最大时间,若时间无效,则输出时间无效,例如: 输入: 6 6 5 4 3 2 1 输出: 123456 235641 输入: 6 9 9 9 9 9 9 输出: 时间无效 看着有点意思,就自己做了一遍,输出格式自己美化了一下,没有严格按照题目要求.代码如下: def find_

网易有道内推编程题

[编程题] 洗牌 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张.首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆).接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌.接着把牌合并起来就可以了. 例如有6张牌,最开始牌的序列是1,2,3,4,5,6.首先分成两组

2018.7.20 编程题: 写一个Singleton出来。

编程题: 写一个Singleton出来. Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 一般Singleton模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法. public class Singleton { private Singleton(){} //在自己内

笔试:编程题

0,1背包问题: 定义V(i,j):当前背包容量 j,前 i 个物品最佳组合对应的价值: 递推关系式: 1) j<w(i)      V(i,j)=V(i-1,j) 2) j>=w(i)     V(i,j)=max{ V(i-1,j),V(i-1,j-w(i))+v(i) } 参考:动态规划-01背包问题 网易2017春招笔试编程题集合: 双核处理: 两个CPU,多个任务:求最小时间: 输入: 5 3072 3072 7168 3072 1024 输出: 9216 解法: 动态规划问题:以总

360春招技术岗编程题

360公司 2018校招 技术综合G卷在线考试编程题| 30.0分3/3[本题为选答题]奇异 长度(Web)时间限制:C/C++语言 1000MS:其他语言 3000MS内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述:给你一个图,0节点连接这一个联通块a,1节点连接着一个联通块b,ab仅由01这条边相连.现在我们定义奇异路径为恰好经过0-1这条边一次的路径,其他边可以经过任意次,且路径不带方向,1-2-3与3-2-1认为是两条路径.重边也算多条路.在这个图中有无数

腾讯2017年暑期实习生编程题【有趣的数字】Python

有趣的数字 时间限制:1秒 空间限制:32768K 题目描述: 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢? 输入描述: 输入包含多组测试数据. 对于每组测试数据: N - 本组测试数据有n个数 a1,a2...an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX. 输出描述: 对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数. 输入示例: 6 45 12 45 32 5