摘要: ###原题: 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内) 阅读全文
posted @ 2020-07-05 20:16 Xxaj5 阅读(217) 评论(0) 推荐(1) 编辑
摘要: 算法时间复杂度:妥妥的nlogn 步骤: 1.确定分界点 mid = (l+r) >> 1 2.递归排序左右两边 3.归并——合二为一(用两个指针,分别指向两个序列) 就是递归到最底部,然后对小部分排序,归并为大部分。 代码模板: void merge_sort(int q[], int l, in 阅读全文
posted @ 2020-07-05 16:32 Xxaj5 阅读(199) 评论(0) 推荐(1) 编辑