标签:style blog class code java tar
一次性通过的,比较顺利,从读题到编写到检查到通过,14分50秒,我在不断进步中,相信经过一段时间联系,这种题可以一眼就写出来,不超过5分钟。
这道题应该说方法跟 Remove Duplicates from sorted Array挺类似的
My Solution:
1 public class Solution { 2 public int removeElement(int[] A, int elem) { 3 int count = 0; 4 for(int i=0; i<A.length; i++){ 5 if(A[i] != elem){ 6 A[count] = A[i]; 7 count++; 8 } 9 } 10 return count; 11 } 12 }
再贴个另外两个人的solution,以便对照参考,比较优劣:
Solution 1: 这个想法有点曲折
1 public class Solution { 2 public int removeElement(int[] A, int elem) { 3 // Start typing your Java solution below 4 // DO NOT write main() function 5 int i=0, j=A.length-1; 6 7 while(i<=j){ 8 if(A[i]==elem) 9 swap(A,i,j--); 10 else 11 i++; 12 } 13 return j+1; 14 } 15 16 public void swap(int[] A,int i, int j){ 17 int temp = A[i]; 18 A[i] = A[j]; 19 A[j] = temp; 20 } 21 }
Solution 2: 跟我的想法一致
1 public class RemoveElement { 2 public int removeElement(int[] A, int elem) { 3 // Start typing your Java solution below 4 // DO NOT write main() function 5 if (A.length == 0) { 6 return 0; 7 } 8 int counter = 0; 9 for (int i = 0; i < A.length; i++) { 10 if (A[i] != elem) { 11 A[counter] = A[i]; 12 counter++; 13 } 14 } 15 return counter; 16 17 } 18 }
Leetcode: Remove Elements,布布扣,bubuko.com
标签:style blog class code java tar
原文地址:http://www.cnblogs.com/EdwardLiu/p/3703444.html