LeetCode 283. 移动零 283. 移动零解题思路把非零元素移动到前面,剩下的位置填充零。使用双指针,一个指针遍历数组,另一个指针记录非零元素的位置。 2026-02-08 LeetCode #数组 #双指针
LeetCode 300. 最长递增子序列 300. 最长递增子序列解题思路视频讲解 动态规划 状态定义:dp[i] 表示以 nums[i] 结尾的最长递增子序列的长度。 转移方程:对于每个位置 i,遍历之前的所有位置 j ($0 \le j < i$): 如果 nums[i] > nums[j],说明 nums[i] 可以拼接在 nums[j] 后面,此时 dp[i] = Math.max(dp[i], dp[j] + 2026-02-08 LeetCode #二分查找 #数组 #动态规划
LeetCode 31. 下一个排列 31. 下一个排列解题思路回溯法首先从右往左遍历数组,找到第一个满足 nums[i] < nums[i + 1] 的位置 i 如果没有找到,则说明当前排列已经是最大的排列,此时直接将数组反转即可得到最小的排列; 如果找到了位置 i,则继续从右往左遍历数组,找到第一个满足 nums[j] > nums[i] 的位置 j,交换 nums[i] 和 nums[j] 的值,然后将位置 i + 2026-02-08 LeetCode #数组 #双指针