有没有简单的方法可以找到连续数组元素之间的绝对差异?
答案 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(' '))
}