在数组中计算和的最大最小值

在博客中看到了一篇文章挺有意思的,文章地址是:http://www.cnblogs.com/flsummer/p/5025286.html是关于计算连续三个数的值,以以下数组为例,1-2-3,1-2,6,1-1-4算连续的,1-1-2,1-2-2则不算,借鉴于他的写法,我作了一些小小的改变,我把数组的每一项设置成不同项数,于是乎有了以下的数组;写这个纯属是为了练习,项目中估计也用不到这种乱七八槽的数组,对于js,还有很多的路要走,希望看过的大神能给以指导var oArray = [    [1, 2,3],    [1, 2, 3],    [4, 5, 6, 3],    [6, 8, 0],    [7, 8, 9],    [11, 12, 13, 16],    [11, 12, 13, 16],    [11, 12, 13, 16],    [11, 12]];var sum = 0;var arr = [];//横向for (var i = 0; i < oArray.length; i++) {    for (var j = 0; j < oArray[i].length - 2; j++) {        if(oArray[i][j + 2]){            sum += oArray[i][j] + oArray[i][j + 1] + oArray[i][j + 2];            arr.push(sum);            sum = 0;        }

    }

}//纵向for (var i = 0; i < oArray.length - 2; i++) {

    for (var m = 0; m < oArray[i].length; m++) {        if (oArray[i + 2][m]) {            sum += oArray[i][m] + oArray[i + 1][m] + oArray[i + 2][m];            arr.push(sum);            sum = 0;        }    }

}//纵横,想起了秦时明月for (var i = 0; i < oArray.length - 2; i++) {    for (var n = 0; n < oArray[i].length - 2; n++) {        if (oArray[i + 2][n + 2]) {            sum += oArray[i][n] + oArray[i + 1][n + 1] + oArray[i + 2][n + 2];            arr.push(sum);            sum = 0;        }

    }}

console.log(arr);console.log(Math.max.apply(this,arr));console.log(Math.min.apply(this,arr));
时间: 2024-10-14 04:38:02

在数组中计算和的最大最小值的相关文章

找一个数组中差值绝对值的最小值(鸽巢原理)

给定一个数组a[n],要你求出数组中最小的|a[i]-a[j]|如果只有一个元素就返回0. 貌似是微软的面试题,估计大多数人首先想到的就是排序之后再比较吧,呵呵,是个人都会做.那面试官考你这个问题有毛线意义,这题我们可以用抽屉原理(也叫鸽巢原理)将n个元素放到n+1个桶中(只需要O(n)时间).按如下过程求解: 1首先找出数组中最大的和最小的元素,如果相等,直接返回0 2确定每个桶的大小bucket_size=(maxe-mine)/(n-1) 3将每个元素放到对应的桶id bucket_id=

数组中简便方法求最大值,最小值,平均值,求和,和个数

//获取数组中的最大值和最小值 @min.self     NSArray *array = @[@4, @84, @2];     NSLog(@"max = %@", [array valueForKeyPath:@"@max.self"]);         //平均值和求和    NSLog(@"%@", [array valueForKeyPath:@"@sum.self"]); //平均值和求平均值    NSLo

从二维数组中计算某个字符串的出现频率

<?php $array=array( array("name","word","hello","haha"), array("user","push","array","pop"), array("code","course","content","public"

获取数组中元素的最大值、最小值、平均值、总和

1 package com.demo; 2 3 import javax.sound.midi.Soundbank; 4 5 /* 6 * 题目:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数, 7 * 然后求出所有元素的最大值,最小值,和值,平均值,并输出. 8 * 备注:所有随机数都是两位数 9 * 10 * Math.random()可以生成一个double类型随机数,范围是:[0.0, 1.0) 11 * 可以这样生成一个两位数的int类型的随机数:(int)(Math.

编程之美2.10 寻找数组中的最大值和最小值

这个问题其实很容易解决,就是循环遍历一遍数组,然后找到数组中存在的最大值和最小值就可以了,书中主要讨论的问题是比较次数较小的方法,不过,书中已经证明了,无论用什么方法最少的比较次数也就是循环遍历一遍的比较,结果是O(1.5N)的,所以,很容易的可以解决这个问题. 第一种方法: 函数声明: void DutFindMaxAndMinInArray_1(int*, int, int&, int&); 源代码如下: /*基本的解法寻找最大值和最小值*/ bool _DutFindMaxAndMi

查找数组中的最大值(最小值)及相对应的下标

简单的封装一个方法 假设数组 arr 中的最大值max或最小值min 为arr[0], 通过max或min与数组 arr 的值进行比较 ,得到想要的结果 (1)获取数组最大值(最小值) //获取最大值 1 function getMax(arr) { 2 //假设最大值max 为arr[0] 3 var max = arr[0]; 4 //遍历对比 5 for (var i = 0; i < arr.length; i++) { 6 //若max小于当前项 说明不是最大值 将当前项的值赋予max

计算数组中最大值和最小值的差值

算法一 <?php /** * 获取数组中最大值和最小值的差值 */ function getDiffVal($arr) { $max = 0; $min = 0; foreach($arr as $k=>$v) { // 赋初值 if ($k == 0) { $max = $min = $v; } // 获取最大值 if ($v > $max) { $max = $v; } // 获取最小值 if ($v < $min) { $min = $v; } } $diff = $max

调用方法计算数组的和,最大值,最小值

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication7 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //调用方法计算数组的和,最大值,最小值 1

写一个方法求数组中的最大值,最小值,总和以及平均值。

class Program { /// <summary> /// 求数组中的最大值,最小值,总和以及平均值. /// </summary> /// <param name="nums">输入一个数组</param> /// <returns>返回一个新的数组(max,min,sum,avg)</returns> public static int[] GetMaxMinSumAvg(int[] nums) { i