求陣列中的最小值

2022-04-22 08:06:31 字數 1048 閱讀 8712

群裡同學出的題目 假設一陣列[null, 2, 5, null, 10, 3]求最小值

想到三種方法 

1 for 迴圈

2 sort排序

3 把null乾掉

測試了下三個的效率

**如下

先造個大陣列

var a = 

,b= [null, 2, 5, null, 10, 3]

var i = 1000

while(i--)

1 for迴圈

console.time('for')

var min = null

for (var i = 0,j=a.length;i)

console.log('for min', min)

console.timeend('for')

結果

for min 2
for: 21ms

2 sort排序

console.time('sort')

min = a.sort(function

(v1,v2))[0]

console.log('sort min',min)

console.timeend('sort')

結果

for min 2
for: 35ms

console.time('str')

a = a.join('|').replace(/\|\|/g,'|').replace(/^\|/,'').replace(/\|$/,'').split('|')

console.log('str min', min)

console.timeend('str')

結果

for min 2
for: 2ms
結果是 借助字串處理陣列 速度最快  ;sort最慢

以上結果為firebug中第一次執行得到 ,只有比較意義

案例 求陣列中的最小值

package com.company 陣列最小值 需求 設計乙個方法用於獲取陣列中元素的最大值,呼叫方法並輸出結果 思路 1 定義乙個陣列,用靜態初始化完成陣列元素的初始化 2 定義乙個方法,用來獲取陣列中的最大值 3 呼叫獲取最小值方法,用變數接收返回結果 4 把結果輸出在控制台 public ...

遞迴 求陣列內最小值

主要是訓練對遞迴的感覺 把思想由遍歷轉換到遞迴上 其他文章和題目 遞迴與動態規劃 奇怪的比賽 李白打酒 public class 陣列最小值 system.out.println process arr,0,arr.length 1 public static int process int arr...

求陣列的最大值最小值

演算法陣列中的最大值和最小值 方法1 遍歷兩次求出最大值最小值 時間複雜度n 2 方法2 相鄰兩個數分為一組比較,大的放在偶數字,小的放到奇數字,然後在偶數字上找到最大值,在奇數字上找到最小值n 1.5 方法3 定義兩個變數max,min值,相鄰兩個數分為一組,比較出最大值和最小值,最大值和max比...