- 博客(9)
- 收藏
- 关注
原创 9.回文数
对于较大的数(如 10^18),完整反转可能稍显冗余。实际上,只需反转一半数字即可判断(例如判断 12321 时,反转后两位得到 123 和 12 比较,或 123321 反转后三位得到 123 和 123 比较),可进一步优化循环次数。(例如 123 有 3 位,log₁₀123 ≈ 2.08),因此循环次数与位数成正比,时间复杂度为对数级。会被正确判断为回文数(反转后仍为 0),不影响结果,但显式处理可能更清晰。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。
2025-11-12 15:10:32
507
原创 8.字符串转换整数(atoi)
第 3 步:"1337c0d3"(读入 "1337";第 2 步:"1337c0d3"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"0-1" (当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 1 步:"1337c0d3"(当前没有读入字符,因为没有前导空格)第 1 步:"0-1" (当前没有读入字符,因为没有前导空格)第 1 步:"42"(当前没有读入字符,因为没有前导空格)
2025-11-10 17:24:01
570
原创 7.整数反转
如果反转后整数超过 32 位的有符号整数的范围。的末位是 - 8),则总和小于。给你一个 32 位的有符号整数。的末位是 7),则总和超过。中的数字部分反转后的结果。1. 溢出判断的核心数学逻辑。32 位有符号整数的范围是。的最后一位,循环次数等于。等),不依赖额外数据结构。,下一位要添加的数字为。,仅使用常数个变量(
2025-11-10 17:05:34
896
转载 5.最长回文子串
刚开始接触动态规划是很抗拒的,觉得很难理解,但是根据视频讲解和自己的实际模拟计算过程,还是能加深理解的,后续遇到动态规划也会好点。这段代码通过动态规划高效地解决了最长回文子串问题,逻辑清晰,利用子问题的解避免了重复计算。"aba" 同样是符合题意的答案。(更小的子问题),若先遍历小。中最长的 回文 子串。,会导致子问题未求解。
2025-11-07 11:40:56
15
原创 4.寻找两个正序数组的中位数
摘要:本文探讨了合并两个有序数组寻找中位数的算法优化。初始方案通过创建临时数组合并前len个元素(len=(m+n)/2+1),空间复杂度为O(len)。优化后方案仅用两个变量记录最后两个元素,空间复杂度降至O(1),同时保持O(len)时间复杂度。虽然未达到题目要求的O(log(m+n))复杂度,但优化方案显著减少了内存使用,提高了代码简洁性,且正确处理奇偶长度情况。当前方案适用于小规模数据,但作者表示仍需进一步学习以实现对数级时间复杂度的解法。
2025-11-06 11:42:49
232
原创 3.无重复字符的最长子串
因为无重复字符的最长子串是 "abc",所以其长度为 3。注意 "bca" 和 "cab" 也是正确答案。)时,若最后一个字符未重复,当前子串是有效的,但代码会正常退出循环并更新。因为无重复字符的最长子串是 "wke",所以其长度为 3。因为无重复字符的最长子串是 "b",所以其长度为 1。,这部分逻辑是对的。并重新开始,忽略了子串之间的关联性。时可基于之前的结果优化,无需从头开始。,请你找出其中不含有重复字符的。的长度,"pwke" 是一个。:每次外层循环结束后都清空。请注意,你的答案必须是。
2025-11-06 11:21:00
263
原创 1.两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]思路:采用:对于数组中的每个元素nums[j](作为第一个数),计算需要找到的第二个数,然后从j+1开始遍历数组,检查是否存在。若找到,则返回[j, i]。
2025-11-05 14:11:01
539
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅