技术栈
分治
Q741_147
9 天前
c++
·
算法
·
leetcode
·
归并排序
·
分治
C++ 分治 归并排序 归并排序VS快速排序 力扣 912. 排序数组 题解 每日一题
题目链接:力扣 912. 排序数组题目描述:示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 解释:数组排序后,某些数字的位置没有改变(例如,2 和 3),而其他数字的位置发生了改变(例如,1 和 5)。
Q741_147
13 天前
c++
·
算法
·
leetcode
·
分治
·
1024程序员节
·
topk问题
·
快速选择算法
C++ 分治 快速选择算法 堆排序 TopK问题 力扣 215. 数组中的第K个最大元素 题解 每日一题
今天是属于每一位代码筑梦人的 1024 程序员节,先向屏幕前的你道一声节日快乐! 算法世界里,我们习惯用逻辑拆解复杂,用代码搭建桥梁,在调试与优化中追逐 “最优解”。恰逢这个专属节日,想借这篇博客与你继续探讨算法的魅力 —— 既是对过往技术探索的小结,也是对未来突破的期许。愿我们在一行行代码、一个个模型中,既能收获技术成长的成就感,也能留存对编程最本真的热爱。
进击的圆儿
21 天前
算法
·
排序算法
·
分治
·
快排
·
大根堆
·
小根堆
分治算法_快速排序专题总结-----分治
分治算法-快速排序专题集中刷题,从基础到进阶:重点突破了递归出口的理解和快速选择算法的优化思想。分治(Divide and Conquer) 是一种算法设计思想,将原问题分解为若干个规模较小的子问题,递归地解决这些子问题,然后将子问题的解合并为原问题的解。
sxtyjty
1 个月前
c++
·
算法
·
分治
ABC426G - Range Knapsack Query
G - Range Knapsack Queryhttps://atcoder.jp/contests/abc426/tasks/abc426_g
少许极端
1 个月前
java
·
算法
·
排序算法
·
分治
·
归并
算法奇妙屋(四)-归并分治
这个篇章我们基于归并排序,并结合分治思想来解决问题归并排序我们应该不陌生, 这里我们只是复习归并排序的算法原理
KarrySmile
2 个月前
数据结构
·
链表
·
递归
·
哈希表
·
分治
·
hot100
·
灵茶山艾府
Day11--HOT100--25. K 个一组翻转链表,138. 随机链表的复制,148. 排序链表
每日刷题系列。今天的题目是力扣HOT100题单。题目类型:链表。今天这几道都是比较难的题,先大胆跳过,回头再刷。
Sinktank
3 个月前
分治
·
cdq分治
[笔记]CDQ 分治
CDQ 分治是一种分治算法,或者说是一种思想,其主要内容是:将序列通过递归的方式分给左右两个区间,每一个子问题只处理跨左右区间的贡献。
✿ ༺ ོIT技术༻
3 个月前
算法
·
排序算法
·
剑指offer
·
双指针
·
滑动窗口
·
分治
剑指offer第2版:双指针+排序+分治+滑动窗口
调整数组顺序使奇数位于偶数前面(二)_牛客题霸_牛客网如果不考虑相对位置的话,那么我们可以模仿hoare快排,使用双指针的思想,一个指针在前向后找偶数,一个指针在后,向前找奇数,然后再交换就行 时间复杂度是n
菜鸟55555
3 个月前
算法
·
dp
·
模板
·
分治
·
竞赛
·
算法思想
常用算法思想及模板
今天继续整理一些关于算法竞赛中C++适用的一些模板以及思想。保留x位小数在C语言中可以使用printf中的"%.xf"来实现,但是很多C++选手由于关闭了同步流,害怕cin、cout与scanf、printf混用容易出错,所以就给大家介绍一个强制保留x位小数的代码格式。
junjunyi
3 个月前
链表
·
排序
·
分治
·
归并
【LeetCode 148】算法进阶:排序链表 ( 归并排序、快速排序、计数排序 )
题目:给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。提示:进阶:你可以在 O (n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?
Alfred king
3 个月前
矩阵
·
树
·
数组
·
分治
面试150 建立四叉树
采用递归分治的思路构建四叉树。首先判断当前区域内的值是否全部相同,若是,则构建一个叶子节点;若否,则将区域划分为四个子区域(左上、右上、左下、右下),对每个子区域递归构建对应的子节点,并将其作为当前非叶子节点的四个子树。通过不断划分和合并,实现将二维网格压缩为一棵结构紧凑的四叉树。
Alfred king
3 个月前
面试
·
职场和发展
·
数组
·
队列
·
分治
面试150 环形子数组的最大和
通过分情况处理,先求出非环形情况下的最大子数组和(max_sum),然后用类似方式求出最小子数组和(min_sum)。由于环形最大子数组可能由总数组和减去中间最小子数组得到,因此再计算总和 total - min_sum 与 max_sum 进行比较,取两者的较大值作为最终答案。注意到如果数组全为负数,此时 total - min_sum 等于 0,会误导结果,因此单独判断 max_num < 0 的情况,直接返回最大值,避免错误。该方法充分利用了Kadane算法的优雅特性,时间复杂度为 O(n)。
127_127_127
4 个月前
数据结构
·
图论
·
模拟
·
ad-hoc
·
分治
·
转化
2025 FJCPC 复建 VP
按开题顺序写 \(BCDEFGHIJKLA(D?)\),\(M\) 送的不写首先发现铜铁本质等价(铜铁的转换不影响 \(val\) ),所以考虑枚举最后金和银的数量 \(gold, silver\),那么约束条件为:
coding者在努力
5 个月前
数据结构
·
算法
·
动态规划
·
分治
·
速成
·
期末考试
高级数据结构与算法期末考试速成记录
Master公式(又称主定理,Master Theorem)是一种用于快速求解分治递归算法时间复杂度 的数学工具,适用于递归式形如以下形式的算法: T ( n ) = a T ( n b ) + O ( n c ) 其中 a : 子问题被递归调用的次数 b : 将原问题分为了几个子问题 O ( n c ) : 分治之后合并所需要的时间复杂度 T(n)=aT(\frac{n}{b})+O(n^c)\\ 其中a:子问题被递归调用的次数\\ b:将原问题分为了几个子问题\\ O(n^c):分治之后合并所需要的时
Jcqsunny
9 个月前
算法
·
深度优先
·
树
·
分治
[分治] FBI树
我们可以把由 0 0 0 和 1 1 1 组成的字符串分为三类:全 0 0 0 串称为 B B B 串,全 1 1 1 串称为 I I I 串,既含 0 0 0 又含 1 1 1 的串则称为 F F F 串。
鸽鸽程序猿
1 年前
java
·
算法
·
分治
【算法】【优选算法】分治(下)
题目链接:归并排序 题目描述:题目解析:解题思路:解题代码:题目链接:LCR170.交易逆序对的总数 题目描述:
鸽鸽程序猿
1 年前
java
·
算法
·
分治
【算法】【优选算法】分治(上)
分治:分而治之,就是将一个大问题拆分为多个小问题,逐一解决。题目链接:75.颜⾊分类 题目描述:题目解析:
Trouvaille ~
1 年前
c++
·
算法
·
面试
·
蓝桥杯
·
排序算法
·
快速排序
·
分治
【优选算法篇】化繁为简,见素抱朴:从乱象中重构秩序的艺术
🚀 欢迎讨论:如果你有任何问题或见解,欢迎在评论区留言。👍 点赞、收藏与分享:如果觉得这篇文章对你有帮助,请点赞、收藏并分享给更多朋友。
一直学习永不止步
1 年前
java
·
算法
·
leetcode
·
字符串
·
滑动窗口
·
哈希表
·
分治
LeetCode题练习与总结:至少有 K 个重复字符的最长子串--395
给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。
NuyoahC
1 年前
c++
·
笔记
·
分治
算法笔记(五)——分治
分治算法字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序)…