自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 6.Z字形变换

以从上往下、从左到右进行 Z 字形排列。个字符,形成一个完整周期)个字符 + 斜向上走。

2025-11-07 11:51:13 289

转载 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

原创 2.两数相加

循环结束后单独判断。

2025-11-05 14:31:40 683

原创 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关注的人

提示
确定要删除当前文章?
取消 删除