- 博客(3)
- 收藏
- 关注
原创 【算法精讲】寻找两个正序数组的中位数:从暴力到最优解的进阶之路
若总长度为奇数,中位数是排序后数组中第len/2位置的元素(向下取整,索引从 0 开始);若总长度为偶数,中位数是排序后数组中第len/2 - 1和len/2位置元素的平均值。中位数的本质:将数组划分为长度相等的两部分,左≤右,这是二分划分的核心依据;二分查找的应用场景:对数级时间复杂度要求,优先考虑二分,且需选择较短数组减少查找次数;边界处理技巧:数组越界时用极值()简化判断;优化思路。
2025-12-20 21:24:10
686
原创 求解一元一次方程(仅含+、-、x)
本文介绍了一元一次方程的字符串解析算法。通过拆分方程为左右两部分,分别统计x系数和常数项,移项合并后得到标准形式ax=b。根据a和b的值判断解的情况:a=0且b=0时无限解,a=0且b≠0时无解,a≠0时解为x=b/a。核心是parseExpression函数,通过遍历表达式字符,处理符号、提取系数,区分x项和常数项。算法时间复杂度O(n),空间复杂度O(1),能高效处理各类输入情况。文中提供了Java实现代码和测试用例验证,适用于面试和算法练习场景。
2025-12-17 22:52:22
337
原创 切披萨的方案数:两种C语言算法实现与深度剖析
1. 状态定义:用 dp[cuts][r][c] 表示“从 (r,c) 到右下角的子披萨切 cuts 刀的合法方案数”,与记忆化搜索的状态一致。1. 状态定义:用 memo[r][c][cuts] 缓存“从 (r,c) 到右下角的子披萨切 cuts 刀的合法方案数”,避免递归重复计算。printf("示例1输出:%d\n", ways_dp(pizza1, 3, 3));
2025-12-15 21:09:29
516
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅