连续数组元素之间的绝对差异

时间:2015-06-06 08:09:05

标签: c arrays

有没有简单的方法可以找到连续数组元素之间的绝对差异?

2 个答案:

答案 0 :(得分:1)

假设您有一个像arr[n]这样的数组:

您可以定义另一个数组以保持diff[n-1]之类的差异,然后您只需要一个循环:

for(i=0; i<n-1; i++) {

   diff[i] = abs(arr[i]-arr[i+1]);  
}

不要忘记包含<stdio.h><stdlib.h>

答案 1 :(得分:-1)

    process.stdin.resume();
process.stdin.setEncoding('ascii');
var inputString="";
var currentLine=0;
process.stdin.on('data',function(data){
    inputString+=data;
      inputString=inputString.split('\n');
      main(inputString);
});
function main(str){
        var dat=str[0].split(' ',2).map(el=>Number(el));
       var arr=str[1].split(' ').map(el=>Number(el));
        console.log(arr);
      var constant=dat[1];
      var newArr=[];
      let diff=0;
       for(let i=1;i<=arr.length;i++)
       {
            diff=Math.abs(arr[i-1]-arr[i]);
            if(diff==constant)newArr[i-1]=0;
            if(diff>constant)newArr[i-1]=1;
            else if(diff<=constant)newArr[i-1]=0;

       }

       console.log(newArr.join(' '))


}