我试图从我的阵列中找到一个奇怪的序列。我已经对它进行了排序,然后我试图获得奇怪的序列,以便我可以删除它,我的数组将再次按顺序工作。假设我按升序排序元素。它不适用于输入6 7 8 10输入在注释中给出。对于注释中的所有输入,我需要为每一行输出10,12,42。
//6 7 8 10
//12 156 157 158 159 160 161 162
//42 45 46 47 48
int temp=a[0];
for(int j=0; j<s-1; j++)
{
if(a[j+1]!=a[j]+1)
{
temp=a[j];
}
}
System.out.println(temp);
答案 0 :(得分:0)
我认为在SO 上提问时你应该更清楚。
好像你正试图在某些编码平台上解决一些问题而且他们已经将他们的问题命名为&#34;奇怪的序列&#34;
无论如何,我理解你的问题,
通过奇怪的序列,你的意思是一个数字,它不像其他数字一样。
所以
6 7 8 10
o / p应为10
12 156 157 158 159 160 161 162
o / p应为12
42 45 46 47 48
o / p 42
所以这是我建议的方法,
只是O(n)
执行一次迭代
找到共同的区别
例如,对于输入6,7,8,10
,它是
7-6 =1
8-7 =1
10-8 =2
因此,10是罪魁祸首
即。 只要你得到不同的差异数
,就要记录你在某个变量中得到的差异您了解当前或以前的号码是必需的答案