演算法 網易內推等差數列

2021-08-15 09:19:18 字數 636 閱讀 9527

如果乙個數列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#include#includeusing namespace std;

int main()

sort(v.begin(),v.end());

int t = v[1] - v[0];

bool flag = true;

for(int i=2;i

網易等差數列

如果乙個數列s滿足對於所有的合法的i,都有s i 1 s i d,這裡的d也可以是負數和零,我們就稱數列s為等差數列。小易現在有乙個長度為n的數列x,小易想把x變為乙個等差數列。小易允許在數列上做交換任意兩個位置的數值的操作,並且交換操作允許交換多次。但是有些數列通過交換還是不能變成等差數列,小易需...

2018網易內推筆試 等差數列 python

如果乙個數列s滿足對於所有的合法的i,都有s i 1 s i d,這裡的d也可以是負數和零,我們就稱數列s為等差數列。小易現在有乙個長度為n的數列x,小易想把x變為乙個等差數列。小易允許在數列上做交換任意兩個位置的數值的操作,並且交換操作允許交換多次。但是有些數列通過交換還是不能變成等差數列,小易需...

演算法 等差數列

原理 如果乙個數列從第二項起,每一項與它的前一項的差等於同乙個常數,這個數列就叫做等差數列,這個常數叫做等差數列的公差,公差常用字母d表示。等差數列是常見數列的一種,如果乙個數列從第二項起,每一項與它的前一項的差等於同乙個常數,這個數列就叫做等差 數列,而這個常數叫做等差數列的公差,公差常用字母d表...