从一个数组里面获取最大的几个数字代码实现

从一个数组里面获取最大的n个

算法思路
首先获取前n个数字,进行排序,之后遍历原数组,与新数组中最小的进行比较,如果大于新数组中的最小值,则进行替换,并将新数组再次排序,一次类推

  • go语言实现
package main

import (
    "fmt"
    "sort"
)

func main() {
    var i int
    a := []int{2, 4, 15, 6, 57, 8, 9, 23, 2, 43, 4352, 56, 1, 1, 234, 124543, 45, 656, 67, 878, 34}
    b := a[0:5]
    sort.Ints(b)
    for i = 5; i < len(a); i++ {
        if a[i] > b[0] {
            b[0] = a[i]
            sort.Ints(b)
        }
    }
    fmt.Println(b)
    return
}
  • python语言实现
  1 import sys
  2 import os
  3 
  4 def sort_array(a):
  5     b = a[0:5]
  6     b.sort()
  7     for i in a[5:]:
  8         if i > b[0]:
  9             b[0] = i
 10             b.sort()
 11     print(b)
 12 
 13     return
 14 
 15 a = [2,4,8,123,345,567,734,23,6,11,6746,6]
 16 sort_array(a)

http://blog.csdn.net/libinbin_1014/article/details/52165244

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值