摘要: #include using namespace std; const int N=1000010; int a[N],q[N]; void merge_sort(int a[], int l, int r){ if(l>=r)return ; int mid=l+r>>1; merge_sort(a,l,mid),merge_sort(a,mid+1,r); i... 阅读全文
posted @ 2019-07-07 21:26 YF-1994 阅读(185) 评论(0) 推荐(0)
摘要: 时间复杂度:O(n); 主要利用快排的partition思想(if(j-l+1>=k)左半边,否则右半边) 阅读全文
posted @ 2019-07-07 21:16 YF-1994 阅读(511) 评论(0) 推荐(0)
摘要: void quick_sort(int a[], int l, int r){ if(l>=r)return ; int i=l-1,j=r+1,x=a[l]; while(ix); if(i<j)swap(a[i],a[j]); } quick_sort(a,l,j),quick_sort(a,j+1,r); } 阅读全文
posted @ 2019-07-07 21:10 YF-1994 阅读(199) 评论(0) 推荐(0)
摘要: 又到了丰收的季节,恰逢小易去牛牛的果园里游玩。牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。牛牛觉得这个问题太简单,所以希望你来替他回答。 输入描述: 输出描述: m行,第i行输出第 阅读全文
posted @ 2019-07-07 20:43 YF-1994 阅读(449) 评论(0) 推荐(0)
摘要: 小A参加了一个n人的活动,每个人都有一个唯一编号i(i>=0 & i<n),其中m对相互认识,在活动中两个人可以通过互相都认识的一个人介绍认识。现在问活动结束后,小A最多会认识多少人? 算法:并查集 阅读全文
posted @ 2019-07-07 20:34 YF-1994 阅读(1573) 评论(0) 推荐(0)
摘要: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 阅读全文
posted @ 2019-07-07 20:28 YF-1994 阅读(160) 评论(0) 推荐(0)
摘要: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 阅读全文
posted @ 2019-07-07 20:19 YF-1994 阅读(230) 评论(0) 推荐(0)
摘要: 题目描述给定一个整型数组,要求返回两个数的下标,使得两数之和等于给定的目标值,要求同一个下标不能使用两次。数据保证有且仅有一组解。 样例给定数组 nums = [2, 7, 11, 15],以及目标值 target = 9, 由于 nums[0] + nums[1] = 2 + 7 = 9,所以 r 阅读全文
posted @ 2019-07-07 20:11 YF-1994 阅读(160) 评论(0) 推荐(0)