2 条题解

  • 0
    @ 2026-3-26 17:43:38

    NUMPY040 题解:排序随机向量

    题目

    创建一个大小为 10 的随机向量并排序。

    解题思路

    使用数组的 .sort() 方法或 np.sort() 函数。

    代码

    import numpy as np
    Z = np.random.random(10)
    Z.sort()
    print(Z)
    

    代码详解

    1. np.random.random(10) —— 创建 10 个随机数
    2. .sort() —— 原地排序数组

    两种排序方式

    # 方式1:原地排序(修改原数组)
    Z = np.random.random(10)
    Z.sort()
    print(Z)
    
    # 方式2:返回新数组(原数组不变)
    Z = np.random.random(10)
    sorted_Z = np.sort(Z)
    print(Z)      # 原数组不变
    print(sorted_Z)  # 新数组
    

    排序方向

    # 升序(默认)
    Z.sort()
    
    # 降序
    Z.sort()[::-1]
    # 或
    -Z.sort()[::-1]  # 对于正数
    

    其他排序相关

    # 部分排序:只找前 k 小的元素
    Z = np.random.random(10)
    np.partition(Z, 3)[:3]  # 前3小的元素(无序)
    
    # 获取排序索引
    Z = np.array([3, 1, 2])
    idx = np.argsort(Z)  # [1, 2, 0]
    Z[idx]  # [1, 2, 3]
    

    核心知识点

    1. .sort() —— 原地排序
    2. np.sort() —— 返回排序后的副本
    3. np.argsort() —— 返回排序索引
    4. np.partition() —— 部分排序
    • 0
      @ 2026-3-25 15:38:19

      NumPy040 题解

      参考代码

      import numpy as np
      n, p = map(int, input().split())
      np.random.seed(42)
      Z = np.random.random(n)
      print(np.percentile(Z, p))
      
      • 1

      信息

      ID
      91
      时间
      1000ms
      内存
      256MiB
      难度
      (无)
      标签
      (无)
      递交数
      0
      已通过
      0
      上传者