冷意
冷意
全部文章
分类
归档
标签
去牛客网
登录
/
注册
冷意的博客
全部文章
(共170篇)
题解 | 反转字符串
1、解题思路直接反转:遍历字符串,从最后一个字符到第一个字符依次取出,构建新的反转字符串。这种方法直观且易于实现。利用语言特性:一些语言提供了直接反转字符串的方法,可以简单调用。双指针法:使用两个指针分别指向字符串的首尾,交换字符并向中间移动,直到指针相遇。2、代码实现C++ class Solut...
2025-06-29
0
58
题解 | 最小覆盖子串
1、解题思路滑动窗口法:使用双指针(left 和 right)表示当前窗口的左右边界。扩展 right 指针,直到窗口包含 t 中的所有字符。收缩 left 指针,尽可能缩小窗口,同时保持窗口包含 t 中的所有字符。记录满足条件的最短子串。哈希表辅助:使用哈希表记录 t 中每个字符的出现次数。在滑动...
2025-06-29
0
40
题解 | 合并区间
1、解题思路排序区间 :首先将区间按照起点升序排列,这样便于后续的合并操作。合并区间 :使用一个结果列表来存储合并后的区间。遍历排序后的区间列表,比较当前区间与结果列表中最后一个区间是否有重叠。如果有重叠,合并它们;如果没有重叠,直接将当前区间加入结果列表。2、代码实现C++ /** * stru...
2025-06-29
0
41
题解 | 判断是否为回文字符串
1、解题思路双指针法: 使用两个指针,一个从字符串的头部开始(左指针),一个从字符串的尾部开始(右指针)。比较两个指针所指的字符是否相同。如果相同,则移动两个指针向中间靠拢;如果不同,则直接返回false。当左指针超过或等于右指针时,说明所有对应的字符都相同,返回true。优化: 由于字符串仅由小写...
2025-06-29
0
43
题解 | 合并两个有序的数组
1、解题思路合并两个有序数组 :由于数组 A 和 B 都是有序的,可以利用双指针的方法,分别从数组 A 和 B 的末尾开始比较,将较大的元素放到数组 A 的末尾。处理剩余元素 :如果数组 B 还有剩余元素,直接将其复制到数组 A 的前面。如果数组 A 还有剩余元素,由于数组 A 本身是有序的,不需要...
2025-06-29
0
34
题解 | 大数加法
1、解题思路对齐字符串长度 :将两个字符串的长度补齐,较短的前面补零,方便逐位相加。逐位相加 :从字符串的最低位(即末尾)开始,逐位相加,并处理进位。处理进位 :每次相加后,如果有进位,需要在下一位相加时加上。构建结果字符串 :将相加后的结果从高位到低位构建成字符串,注意处理最终可能的进位。2、代码...
2025-06-29
0
29
题解 | 验证IP地址
1、解题思路区分 IPv4 和 IPv6:如果字符串包含 .,则可能是 IPv4。如果字符串包含 :,则可能是 IPv6。验证 IPv4:分割字符串为 4 部分,检查每组是否为有效数字(0-255,无前导零)。验证 IPv6:分割字符串为 8 部分,检查每组是否为有效的 16 进制数(1-4 位,允...
2025-06-29
0
33
题解 | 最长公共前缀
1、解题思路特殊情况处理: 如果数组为空,直接返回空字符串。如果数组只有一个字符串,直接返回该字符串本身。初始化公共前缀: 假设第一个字符串为初始公共前缀。遍历比较: 逐个字符与公共前缀比较,逐步缩短公共前缀的长度,直到找到所有字符串共有的前缀。返回结果: 最终得到的公共前缀即为答案。2、代码实现C...
2025-06-29
0
33
题解 | 字符串变形
1、解题思路大小写转换:遍历字符串,逐个字符进行大小写转换。单词分割与反转:使用栈来存储单词,利用栈的先进后出特性实现单词顺序反转。处理结尾空格:检查原字符串末尾是否有空格,若有则保留在结果的首位。2、代码实现C++ class Solution { public: /** *...
2025-06-29
0
30
题解 | 买卖股票的最好时机(三)
1、解题思路动态规划:定义四个状态变量: buy1:第一次买入股票后的最大利润。sell1:第一次卖出股票后的最大利润。buy2:第二次买入股票后的最大利润。sell2:第二次卖出股票后的最大利润。初始化: buy1 = -prices[0],表示第一次买入后的利润为负的买入价格。sell1 = 0...
2025-06-29
0
41
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页