
算法学习
Uarebaby.c
这个作者很懒,什么都没留下…
展开
-
CCF算法学习-1
字串由完整的"wbwbwwbwbwbw"加上某个前缀,某个后缀组成。用两个列表存储当前有多少个w,多少个b。是否存在 S 的一个子字符串,其中包含 W 个 w(白键)和 B 个 b(黑键)?设 S 为通过无限重复字符串 wbwbwwbwbwbw 形成的字符串。W 和 B 都是整数.原创 2024-12-23 15:28:04 · 285 阅读 · 0 评论 -
数的范围(二分,不用考虑边界问题版,点击就会)
就是找单调性用二分查找元素要求数组的有序性或者拥有类似有序的性质。只有所要寻找的数组能够满足某一条件而被分成两边,就可以进行二分。L的初始值为-1,R的初始值为N首先,如果二分本来就没有结果的话,程序是一定有结果的。原创 2023-11-29 16:21:14 · 1043 阅读 · 1 评论 -
逆序对的数量(分治思想,归并排序衍生,参考yxc算法基础课)
逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围 [1,109]。第二行包含 n 个整数,表示整个数列。第一行包含整数 n,表示数列的长度。输出一个整数,表示逆序对的个数。原创 2023-11-29 15:29:06 · 437 阅读 · 1 评论 -
归并排序实现
归并排序本质上是双指针排序,核心操作主要是把数组一分为二递归以及将两个有序的数组归并成一个有序的数组。原创 2023-11-28 14:34:28 · 362 阅读 · 1 评论 -
快速排序实现和边界问题分析
当x等于q[l + r + 1 >> 1] 或者q[r] 只能使用quick_sort(l, i - 1), quick_sort(i, r)当x等于q[l + r >> 1] 或者q[l] 只能使用quick_sort(l, j), quick_sort(j + 1, r)X的数时就停止,j遇到小于等于x的数就停止,然后交换a[i], a[j]。当x = q[r]时 与x = q[l + r + 1 >> 1] 同理。当x = q[l]时 这时与x = q[l + r >> 1] 同理。原创 2023-11-28 13:41:01 · 605 阅读 · 1 评论