1.在一个数组里移除指定的value,并返回新的数组的长度(不能新建另一份数组)
java代码:
/** * Created by Administrator on 2016/12/23. */ public class Solutaion { public int removeElement(int [] a,int elemt){ int i=0; int j=0; for(;i<a.length;i++){ if(a[i]==elemt) { continue; } a[j]=a[i]; j++; } return j; } public static void main(String [] args){ int [] a={1,2,2,5,6,2,7,3,2,4}; Solutaion solutaion=new Solutaion(); int q= solutaion.removeElement(a,2); System.out.println(q); } }
2.在一个排好序的数组中删除相同的元素,返回新的数组长度
java代码如下:
/** * (排好序的数组)删除重复元素,返回新的数组的长度 * @param a * @return */ public int removeDuplitions(int[] a){ int i=1; int j=0; for(;i<a.length;i++){ if(a[i]==a[j]){ continue; } a[++j]=a[i]; } return j+1; } public static void main(String [] args){ int [] a={1,2,2,5,6,7,7,8,9,10}; Solutaion solutaion=new Solutaion(); int q= solutaion.removeDuplitions(a); System.out.println(q); }