- 博客(3)
- 收藏
- 关注
原创 C语言实现整数反转:思路解析与完整代码
C语言中,负数取余运算的结果符号与被除数一致。例如 -123 % 10 = -3 , -123 / 10 = -12 ,因此无需单独处理负数,循环逻辑对正负整数均适用。这道题的重点不在于代码复杂度,而在于对数据范围和边界条件的考量,这也是编程和算法面试中非常看重的能力。如果反转后的整数超出32位有符号整数的范围 [-2³¹, 2³¹ - 1] ,返回0。4. 溢出判断:32位有符号整数的范围是 [-2147483648, 2147483647] ,在拼接过程中需实时判断是否超出范围,避免溢出。
2025-12-26 22:49:14
744
原创 C++ 解决八皇后问题:递归回溯与优化思路详解
斜线冲突的判断条件 abs(row - i) == abs(col - board[i]) 表示两点的行差等于列差,即在同一条斜线上。回溯算法是算法竞赛和面试中的高频考点,掌握八皇后问题的解法,能帮助我们更好地理解回溯的核心思想。通过本文的两种 C++ 实现,我们不仅能解决八皇后问题,还能举一反三,用回溯算法解决类似的排列组合约束问题(如 N 皇后问题)。基于“每行一个皇后”的特点,我们可以按行放置皇后,逐行判断列和斜线是否合法,以此减少无效的枚举次数。// 递归处理下一行,斜线标记左移/右移一位。
2025-12-25 16:30:05
418
原创 排序+双指针:一网打尽两数、三数、四数之和问题(以C++为例)
它通过一层循环固定第一个数,再用双指针在剩余区间寻找另外两个数,去重操作针对固定的第一个数和第二个数,跳过同一层循环中与前一个重复的元素,相比两数之和多了排序和去重的步骤。从两数之和到四数之和,我们可以提炼出N数之和的通用解法:通过N-2层循环固定前N-2个元素,再用双指针处理最后两个元素,结合排序、去重和剪枝操作,高效求解。三数之和和四数之和的本质,是通过固定前N-2个数,将问题降维为两数之和问题,再用双指针求解,把时间复杂度从 O(n^3)/O(n^4) 优化到 O(n^2)/O(n^3)。
2025-12-22 17:38:32
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅