摘要: 给定一个长度为 nn 的整数数列,以及一个整数 kk,请用快速选择算法求出数列从小到大排序后的第 kk 个数。 输入格式 第一行包含两个整数 nn 和 kk。 第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第 kk 小数。 阅读全文 »
posted @ 2022-05-02 23:28 不抽火哪里来的烟 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 二分模板一共有两个,分别适用于不同情况。 算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 版本1: 当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mi 阅读全文 »
posted @ 2022-05-02 23:28 不抽火哪里来的烟 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 归并排序一般步骤: 1.确定分界点:mid=(l+r)/2 2.递归排序left、right 3.归并——>合二为一 算法时间复杂度: O(nlogn) 给定你一个长度为 nn 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行 阅读全文 »
posted @ 2022-05-01 23:30 不抽火哪里来的烟 阅读(248) 评论(0) 推荐(0) 编辑
摘要: /* Farmer John 的远房亲戚 Ben 是一个疯狂的科学家。 通常这会在家庭聚会时造成不小的摩擦,但这偶尔也会带来些好处,尤其是当 Farmer John 发现他正面对一些有关他的奶牛们的独特而不寻常的问题时。 Farmer John 当前正面对一个有关她的奶牛们的独特而不寻常的问题。 他 阅读全文 »
posted @ 2022-04-30 11:48 不抽火哪里来的烟 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 算法思想: 1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。 算法模板: 1 void quick_sort(int q[], int l, int r) 2 { 3 //递归的终止情 阅读全文 »
posted @ 2022-04-30 11:48 不抽火哪里来的烟 阅读(399) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示