连续数字排列算法- Javascript
Algorithm for Continuous Number arrangement - Javascript
我需要数字排列算法或javascript代码
input : [0,0,1,1,3,3,5,5,7,8,8,8,10]
output : [0,0,1,1,2,2,3,3,4,5,5,5,6]
谢谢我尝试以下代码段
var array=[];
array[0]=0;
array[1]=0;
array[2]=2;
array[3]=2;
array[4]=5;
array[5]=5;
array[6]=6;
$.each(array,function(i,val){
if(i==0){
prev=eval(val);
}else{
if(prev!=val){
if(val!=eval(prev)+1){
array[i]=eval(prev+1);
prev=eval(prev+1);;
}else{
prev=val;
}
}
}
});
您可以使用Array.prototype.map
:
var c = 0,
array_in = [0,0,1,1,3,3,5,5,7,8,8,8,10],
array_out = [];
array_out = array_in.map(function(a,i,arr){return (arr[i] > arr[i-1])?++c:c});
// array_out == [0,0,1,1,2,2,3,3,4,5,5,5,6]
参见示例
当元素按顺序排序时可以这样做。
A[n]=[0,0,1,1,3,3,5,5,7,8,8,8,10] // as these these are in sorted order .
int B[n];
for(int i=1,B[0]=0;i<n;i++)
{
if(A[i]==A[i-1])
B[i]=B[i-1];
else
B[i]=B[i-1]+1;
}
最后你将得到B [n] =[0, 0, 1, 1、2、2、3、3、4、5、5、5、6],
相关文章:
- javascript扫雷器floodfill算法不能正常工作
- Vanilla Javascript算法,如何做和解释
- JavaScript算法,提供每种可能的项目组合,并将它们存储在数组中
- 用于查找基于时间的事件的最佳Javascript算法
- 反转JavaScript算法
- 用于创建数学减法方程的简单JavaScript算法
- JavaScript 算法性能 - 计算可被 k 整除的范围内的数字数
- 求和对的独特排列:Javascript算法
- 函数式 Javascript 算法不从过滤器返回预期结果
- 有效的javascript算法,用于从数组中选择项目,其中每个条目具有不同的权重
- 在javascript算法中使用私有MD5密钥的安全方式
- 从字符串javascript算法中删除字符
- 过滤联系人详细信息的Javascript算法
- 谁可以帮助解释这个JavaScript算法[].filter.call()
- 返回语句在递归javascript算法,如何返回所有的方式堆栈
- 简单的Javascript算法
- 获取类似excel的列名的Javascript算法
- 路径查找javascript算法无法正常工作'他应该这样做
- JavaScript算法转换为罗马数字
- Javascript算法添加数字到文本框