# 26 supprimer les doublons dans le tableau trié
Étant donné un tableau trié, vous devez supprimer les éléments répétés sur place, de sorte que chaque élément n'apparaisse qu'une seule fois, et renvoyer la nouvelle longueur du tableau supprimé.
N'utilisez pas d'espace de tableau supplémentaire, vous devez modifier le tableau d'entrée en place et utiliser l'espace supplémentaire O (1).
示例 1:
给定数组 nums = [1,1,2],
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
你不需要考虑数组中超出新长度后面的元素。
示例 2:
给定 nums = [0,0,1,1,1,2,2,3,3,4],
函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
你不需要考虑数组中超出新长度后面的元素。
Code:
class Solution {
public int removeDuplicates(int[] nums) {
int slow=0;
for(int fast=1;fast<nums.length;fast++){
if(nums[slow]!=nums[fast]){
nums[++slow]=nums[fast];
}
}
return slow+1;
}
}
# 27La suppression d' éléments
vous donne un tableau de nombres et une valeur de val. Vous devez supprimer tous les éléments dont la valeur est égale à val en place et renvoyer la nouvelle longueur du tableau supprimé.
N'utilisez pas d'espace de tableau supplémentaire, vous devez uniquement utiliser l'espace supplémentaire O (1) et modifier le tableau d'entrée in-situ.
L'ordre des éléments peut être modifié. Vous n'avez pas besoin de considérer les éléments du tableau au-delà de la nouvelle longueur.
示例 1:
给定 nums = [3,2,2,3], val = 3,
函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。
你不需要考虑数组中超出新长度后面的元素。
示例 2:
给定 nums = [0,1,2,2,3,0,4,2], val = 2,
函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。
注意这五个元素可为任意顺序。
你不需要考虑数组中超出新长度后面的元素。
Code:
class Solution {
public int removeElement(int[] nums, int val) {
int slow=0;
for(int fast=0;fast<nums.length;fast++){
if(nums[fast]!=val){
nums[slow]=nums[fast];
slow++;
}
}
return slow;
}
}