一个循环实现新数组n位值是老数组前n位的和
来源:互联网 发布:淘宝商城怎么开 编辑:程序博客网 时间:2024/06/05 18:52
首先先解释一下题目,什么叫做新数组n位值是老数组前n位的和,下面举两个例子就明了了,
老数组:var old = [1,2,3,4]
新数组:var new = [1,3,6,10]
就是:
1. 新数组的第一位等于老数组的第一位new[0] = old[0]
2. 新数组的第二位等于老数组的前两位之和new[1] = old[0] + old[1]
3. 新数组的第三位等于老数组的前三位之和new[2] = old[0] + old[1] + old[2]
4. ……
相信很多人的第一反应都是循环套循环,如下:
var oldArray = [1,2,3,4];var newArray = [];for(var i = 1; i <= oldArray.length; i++){ var newArrayEach = 0; for(var j = 0; j < i; j++){ newArrayEach += oldArray[j]; } newArray.push(newArrayEach);}console.log(newArray);//输出结果[1, 3, 6, 10]
那么有没有一些简单方法来实现呢?
下面是仅使用一个循环来实现:
var oldArray = [1,2,3,4];var newArray = [0];for (var i = 0; i < oldArray.length; i++) { newArray.push(oldArray[i] + newArray[i]);}newArray = newArray.slice(1);console.log(newArray);//输出结果[1, 3, 6, 10]
下面这种效率是不是比上面哪种方法高多了,很多方法要灵活运用,才能写出更好的代码。
0 0
- 一个循环实现新数组n位值是老数组前n位的和
- 实现字符串循环右移n 位与左移n位(建立数组)
- 【Java实现】一个n个元素的数组,求右移k位后的数组
- 把一个含有N个元素的数组循环右移K位
- 把一个含有N个元素的数组循环右移K位, 要求时间复杂度为O(N)
- 长度为n的整数数组循环左移右移m位
- 队列实现对有n个元素的数组循环左移k位
- 从一个长度为n的数组中找出前k个最小值的最优实现
- 在时间复杂度O(n)内,实现将数组A[n]中所有元素左循环移n位
- 用递归方法求一个数组前n个数字的和
- 将N个字符的数组,循环右移K位。时间复杂度O(N)
- 将N个字符的数组,循环右移K位。时间复杂度O(N)
- 将N个字符的数组,循环右移K位。时间复杂度O(N)
- 将N个字符的数组,循环右移K位。时间复杂度O(N)。
- 递归求整型数组前N个数的和
- js获取数组前n项的和
- [java实现]找一个数组的最大和的连续子数组(时间复杂度 O(n))
- [java实现]找一个数组的最大和的连续子数组(时间复杂度 O(n))
- iOS源码解析—AFNetworking(RequestSerializer)
- 题目1096:日期差值
- 1445: Pku3245 Sequence Partitioning
- 《Python核心编程》(第二版) 第3章 Python基础
- 数据库管理员用户角色组权限设计
- 一个循环实现新数组n位值是老数组前n位的和
- C++ 11 匿名函数Lambda表达式
- fail-fast(快速失败/报错机制)-ConcurrentModificationException
- Ubuntu14.04 下载&&编译 Android 5.1.1源码(采用国内清华大学镜像)
- 设计模式学习--桥接模式
- Faster-RCNN+ZF用自己的数据集训练模型(Python版本)
- C++ new一个数组时,指针移动程序崩溃问题
- 将tomcat源码导入进eclipse
- web 学习笔记2-CSS