返回数组中最大的三个数

// 一

function threeNums(nums, count) {
var result = []
var newList = []
var step = 0
var len = nums.length

var less = len - count
for (var k = 0; k < len; k++) {
var cur = nums[k]
// if ( less <= k) {
if (cur < nums[k - 1]) {
newList[k] = nums[k - 1]
newList[k - 1] = cur
} else {
newList[k] = nums[k]
}
// }
}

return getCountNum(result, newList, count)
}

function getCountNum(result, newList, count) {
if (result.length >= count) {
return result
}
result[result.length] = newList[newList.length - result.length - 1]
return getCountNum(result, newList, count)
}

var arr = [5, 2, 6, 8, 9, 11]
// var arr = [5, 2, 1, 8, 6, 0]
var rts = threeNums(arr, 3)
console.log(rts.toString())

// 二

function threeNums(nums) {
var n1 = 0,
n2 = 0,
n3 = 0
var len = nums.length
for (var i = 0; i < len; i++) {
var cur = nums[i]
if (cur > n1) {
n3 = n2
n2 = n1
n1 = cur
} else if (cur > n2) {
n3 = n2
n2 = cur
} else if (cur > n3) {
n3 = cur
}
}
return [n1, n2, n3]
}

var arr = [5, 2, 6, 8, 9, 11]
var rts = threeNums(arr)
console.log(rts.toString())

// 三


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容