群裡同學出的題目 假設一陣列[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: 21ms2 sort排序
console.time('sort')min = a.sort(function
(v1,v2))[0]
console.log('sort min',min)
console.timeend('sort')
結果
for min 2
for: 35ms3
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比...