获得徽章 0
- #每日一题# 数组移除
暴力解法:使用双层循环即可,高位覆盖
双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。
这种方法在数组、链表、字符串等操作中很常见,why?
因为涉及到一个点,就是遍历,简化循环的次数,对于嵌套for可以考虑进行解法切换
具体应用:对于解决数组移除问题
将快指针定义在循环中,当不相等时,快指针继续移动,慢指针停滞
之后进行高位覆盖
解法二:基于题目中出现元素位置可以移动,那么此时可以使用相向双指针法
```java
class Solution {
public int removeElement(int[] nums, int val) {
int left = 0;
int right = nums.length - 1;
while(right >= 0 && nums[right]==val)right--;
while(left <= right){
if (nums[left] == val){
nums[left] = nums[right];
right--;
}else{
left++;
while(right >= 0 && nums[right] == val) right--;
}
}
return left;
}
}
```展开评论点赞 - 《富兰克林自传》是一本充满智慧和启发的个人传记,书中不仅展现了富兰克林本人的个人修养、道德品质、社会贡献等方面的卓越成就,还讲述了他在各个方面的经历和故事,内容充实,细节清晰。
书中详细介绍了富兰克林的童年、求学、工作和生活等各个方面,并通过真实的记录和细节展现了他在个人修养、道德品质、社会贡献等方面的卓越成就。
书中包含了许多宝贵的人生经验和智慧,通过阅读这本书,你可以深入了解富兰克林这个伟大的人物,学习他如何成为一个成功人士、如何为社会做出贡献。同时,你也可以从中学到很多人生经验和智慧,这些都将对你的生活和职业生涯产生积极影响。
如果你还没有读过这本书,那么就赶快去读吧!相信它会给你带来巨大的收获和启示。展开赞过评论1