
C++ 手撕算法
文章平均质量分 50
@hdd
good good study, day day up
展开
-
C++ | 链表奇偶重排
所有奇数位置的节点按原顺序排列在前面,所有偶数位置的节点按原顺序排列在后面。:通过一个指针遍历原链表,根据节点的位置将其分别连接到奇数链表和偶数链表。给定一个单链表,要求将链表中的节点按照奇偶位置重新排列。:一个用于存储奇数位置的节点,另一个用于存储偶数位置的节点。:1、3、5、...(从1开始计数):2、4、6、...(从1开始计数):将偶数链表连接到奇数链表的末尾。原创 2025-02-11 20:15:16 · 174 阅读 · 0 评论 -
C++ | 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)买入,在第 5 天(股票价格 = 6)卖出,利润 = 6 - 1 = 5。:你最多只能进行一次交易(即买入和卖出各一次),并且必须在买入股票之前卖出股票。:对于每一天的价格,计算如果在这一天卖出的利润(即当前价格减去最低价格)。解释:在这种情况下,没有交易完成,所以最大利润为 0。你的目标是通过买卖股票获得最大利润。:如果当前利润大于之前的最大利润,则更新最大利润。:遍历数组时,记录到目前为止的最低价格。原创 2025-02-11 18:00:51 · 202 阅读 · 0 评论 -
C++ | Goal 解析器实现
如果需要进一步优化空间复杂度,可以考虑直接在原字符串上进行操作,但需要谨慎处理字符覆盖问题。对于大规模数据,可以考虑使用更高效的数据结构(如双端队列)来处理字符串拼接操作,避免频繁的字符串拷贝。如果未来需要支持更多模式的替换,可以将替换规则封装到一个映射表中,通过循环遍历映射表来实现动态替换。假设你正在处理一个简单的字符串解析任务,目标是将特定的模式替换为对应的值。通过一次遍历字符串,直接构建结果字符串。上述示例都默认输入字符串符合规则,未对无效字符串做处理。输出经过上述替换规则处理后的字符串。原创 2025-02-11 17:44:16 · 403 阅读 · 0 评论