算法导论:求第k小的数
发布日期:2021-05-10 11:48:47 浏览次数:16 分类:精选文章

本文共 2657 字,大约阅读时间需要 8 分钟。

������������������n���������������������������k���������������������������������������������������������������������������������k������������������������������������������������������������������������������������������������������������������

���������������

  • ���������������

    • ������������������������������������������k���������������������������������������������������������������������������������������������������������������k���������������������
  • ���������������

    • ������������������������������������������������������������
    • ���������������������������������������������������������
    • ������k���������������������������������������������������������������������������
  • ���������������

    • ���������������������������������������������������������������������������������������������������
    • ���������������������������������������k������������������������������
  • ���������������

  • ������������

    • ���������������������������������������
  • ���������������

    • ���������������������������������������������������������
    • ������k���������������k���������������������������������������������
  • ���������������

    • ������k������������������������������������������������������������������������������k���������
    • ������������������������������������
  • ���������������

    • ���������������������������������������������������������������������
  • ���������������

    #include 
    using namespace std;
    int findKth(int n, int k, vector
    nums) {
    if (k == 1) return nums[0];
    int low = 0, high = n - 1;
    int steps = high - low;
    while (steps > 0) {
    int mid = low + steps / 2;
    int count = 0;
    for (int i = low; i < mid; ++i) {
    if (nums[i] < nums[mid]) {
    count++;
    }
    }
    if (k <= count + 1) {
    high = mid - 1;
    steps = high - low;
    } else {
    low = mid + 1;
    steps = high - low;
    }
    }
    return nums[low];
    }
    int main() {
    int n, k;
    cin >> n >> k;
    vector
    nums(n);
    for (int i = 0; i < n; ++i) {
    cin >> nums[i];
    }
    sort(nums.begin(), nums.end());
    cout << nums[k - 1] << endl;
    return 0;
    }
    // ������������n���������������������������������������������������������������������������

    ���������������

    • ���������������������n������������������������������������������������������������������������
    • ���������������������������������������������������������������������������������������������������

    ���������������������������������������������������������k������������������������������������������������������������������������������������������������������������ logarithmic ������������������

    上一篇:Fast RCNN论文阅读笔记
    下一篇:mysql(十二)数值类型

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年04月23日 00时38分52秒